《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > Matlab與Excel接口技術在電力系統數據分析中的應用
Matlab與Excel接口技術在電力系統數據分析中的應用
來源:微型機與應用2012年第18期
董世君1,2, 薛 瑋3, 董愛芹4, 陳 眾2
(1. 南平電業局,福建 南平350003; 2.長沙理工大學 電氣與信息工程學院,湖南 長沙410
摘要: 為了充分發揮Excel和Matlab各自的優勢,實現兩者之間的無縫連接并將其應用于電力系統數據分析中,簡要分析了DDE(Dynamic Data Exchange)和自動化技術、Excel Link插件以及通過Excel生成器等3種接口技術。而Excel生成器生成插件又有兩種方法,通過一個實例重點介紹了其中一種工作量少、簡單方便的方法。通過對保存在Excel中的數據進行處理分析,結果顯示這種以Excel為載體、Matlab程序集成到Excel插件處理數據的思想能夠很好地彌補Excel沒有專門函數處理電力系統數據等功能的缺陷。
Abstract:
Key words :

摘  要: 為了充分發揮ExcelMatlab各自的優勢,實現兩者之間的無縫連接并將其應用于電力系統數據分析中,簡要分析了DDE(Dynamic Data Exchange)和自動化技術、Excel Link插件以及通過Excel生成器等3種接口技術。而Excel生成器生成插件又有兩種方法,通過一個實例重點介紹了其中一種工作量少、簡單方便的方法。通過對保存在Excel中的數據進行處理分析,結果顯示這種以Excel為載體、Matlab程序集成到Excel插件處理數據的思想能夠很好地彌補Excel沒有專門函數處理電力系統數據等功能的缺陷。
關鍵詞: Excel; Matlab; Excel生成器; 無縫連接

    Excel 是微軟辦公套裝軟件的一個重要組成部分,它可以進行各種數據處理、統計分析和輔助決策操作,廣泛地應用于管理、統計財經、金融等眾多領域。電力系統研究中需要或者獲得的數據常常保存在Excel中,大多數情況下這些數據僅能進行簡單的處理,而無法做到深層次的分析,限制了其更進一步的應用。
    Matlab自問世以來,由于其卓越的計算分析能力已經成為電力系統研究不可或缺的工具,但是Matlab作為一種解釋型語言導致其運行速度相對較慢,同時Matlab自身無法為海量數據提供直接載體且界面不便捷。通過接口技術實現Matlab與Excel混合編程,可以充分利用各自的優勢,彌補兩者的不足,提高實用性。
1 Matlab與Excel接口技術
    Matlab與Excel是目前Matlab與外部各種程序接口中手段最多、也最完備的接口技術[1],主要有:(1)利用DDE(Dynamic Data Exchange)和自動化技術可以實現它們之間的鏈接;(2)Matlab提供了一個Excel Link插件,利用它可以直接在Excel環境下完成與Matlab的數據傳輸并運行Matlab命令;(3)通過Excel生成器可實現他們之間的連接。
    前兩種方式比較適合Client/Server模式,而Excel生成器這種方法則可以視應用系統的具體要求來做選擇。

  (1)DDE(Dynamic Data Exchange)允許Microsoft Windows應用程序通過交換數據實現彼此間的通信。應用程序間彼此通信要先建立一個DDE會話,對會話進行初始化的應用程序稱為客戶端(Client),對Client端作出響應的應用程序稱為服務器(Server);自動化技術可使解釋性的宏語言能夠在不了解應用程序實現細節的情況下控制自動化對象。
   (2)Excel Link是一個軟件插件,它將Excel和Matlab在微軟視窗環境下進行集成。通過鏈接Excel和Matlab,可以從Excel工作表和宏編程工具中獲得Matlab的數值計算和圖形繪制功能,能夠在兩個環境之間交換數據。Excel Link在Excel工作空間和Matlab工作空間之間進行通信時,它把Excel作為Matlab的前端,在Excel的工作表和宏中使用Excel Link函數,而不必離開Excel環境,Excel Link用少量的函數實現鏈接管理和數據操作,以簡便取勝。Excel Link的運行機制如圖1所示。

   (3)Matlab提供了一種Excel生成器,利用該工具可以將Matlab的M文件中的算法程序集成到其生成的一種DLL組件中,同時生成相應組件的VBA代碼。利用DLL組件,VBA代碼可以在Excel的Visual Basic編輯器中直接使用,可以保存為插件(Add-Ins)。其中,Excel生成器創建的COM對象暴露給VB程序環境一個類,該類包含一系列稱為方法的函數,對應于包含的組件工程中的原始Matlab函數。
    綜上所述,利用Excel生成器可以使開發者擁有更自由的開發空間,而在利用Excel生成器開發Excel插件的過程中有兩種方式。一種是通過將組件集成到VBA中,創建用戶界面后保存為插件[2];另一種是直接修改組件中的BAS文件,然后保存為插件[3]。兩者在生成組件的過程中相同,前者雖然在應用時比較靈活,但是其工作量較大,對編程人員的編程水平要求較高,而后者只需要修改組件中的BAS文件,工作量明顯減少。本文結合實例介紹通過修改BAS文件實現Matlab與Excel之間的無縫連接在電力系統數據分析中的應用。
2 應用舉例
    勵磁系統相頻、幅頻特性反應了對象在工作點線性化的特性[4],因此,PSS相頻、幅頻特性分析試驗是勵磁系統參數整定不可缺少的一環。本實驗具體過程為:試驗機組在有功P=252.6 MW、無功Q=4.2 MV、勵磁調節器恒電壓方式運行, AGC功能退出的工況下進行測試;發電機并網運行,勵磁調節器自動方式運行,PSS退出,無功調差單元退出,用頻譜儀測量輸出的偽隨機信號與發電機電壓信號之間的相頻特性即為勵磁系統無補償相頻特性。勵磁系統無補償相頻特性測試接線如圖2所示。    將試驗測量得的數據保存在Excel文檔中,通過調用由Excel生成器將Matlab程序集成到COM組件,進而修改組件中的BAS文件獲得所需要的插件進行數據處理。生成所需插件的具體步驟如下。

2.1創建工程
    在配置好編譯器的Matlab 6.5環境中,在命令行中輸入Matlab命令mxltool,顯示Matlab的Excel生成器主窗口。具體步驟為:
    在窗口中依次選擇File→New Project,打開“New Project Settings”對話框。
    (1) “Component name”文本框和“Class name”文本框
    在“Component name”文本框中輸入組件的名稱“Test”,在“Class name”文本框輸入類的名稱“Pssmodule”。組件是后面創建的名稱。輸入組件以后,生成器會自動輸入一個與組件名相同的類名,可以將類名改為其他描述性更強的名稱。
    (2) “Project Version”文本框
    在“Project Version”文本框中輸入組件的版本號。默認版本號為1.0,這里選擇默認版本號。
    (3) “Project Direction”文本框
    在“Project Direction”文本框中輸入工程目錄。工程目錄指定編譯和打包模型時,將工程和生成的文件放在那里,工程目錄根據當前目錄名和組件名自動創建為D:\Matlab\work\Test。
    (4) “Compile code in”方框
    在該方框中選擇生成C++代碼,因為C++組件可讀性更強,更便于修改。
2.2 管理M文件
    創建工程以后,主窗口中的“Project”、“Build”和“Component”等菜單選項變為可用,單擊“Add File”按鈕或依次選擇Project →Add File,在工程中添加測試好的M文件。
2.3 生成組件
    定義工程設置和添加M函數后,可以生成一個可配置的DLL文件和必要的VBA代碼。依次選擇菜單選項Build→Excel/COM Files或單擊“Build”按鈕,激活Matlab編譯器,將中間的源文件寫到Test \src,將進行配置的輸出文件寫到Test \distrb目錄。
2.4 生成插件
    前面生成的組件中有由Excel Builder直接生成的.BAS文件,不需經過修改就可以直接將組件集成到VBA中、創建圖形用戶界面然后保存為插件,生成的插件可以直接使用。這種方法中,函數根據輸入的參數,調用編譯得到的組件后將答案繪制出來,而且計算的數據不返回Excel環境中。這里的宏由公式函數實現,它能夠將標量形式的返回值返回到Excel環境。然而在使用Excel進行數據處理時,需要將所有的計算結果都顯示在電子表格中。在用Excel Builder創建Excel插件時,為了能夠克服這些不足,就必須修改.BAS文件。通過修改由Excel生成器生成的.BAS文件函數能夠返回矩陣并且填充Excel單元格。這種方法相對前一種方法來說工作量很少。
    對修改好的.BAS文件進行保存生成Excel的插件,然后通過調用宏指令mytest就可以得到分析的數據和勵磁系統幅頻、相頻特性圖。Excel界面如圖3所示。發電機勵磁系統無補償和有補償相頻特性曲線比較圖如圖4所示。從圖4可看出在投入PSS后勵磁系統的相頻特性得到了有效的改善。

 

 

    利用接口技術將Matlab程序集成到Excel插件中實現兩者之間的無縫連接,充分利用Excel數據載體和Matlab數據處理能力的優勢,將生成的插件打包和發布供Excel調用,使得工程數據分析處理更加方便快捷。
參考文獻
[1] 蘇金明,黃國明,劉波. Matlab與外部程序接口[M]. 北京:電子工業出版社,2004.
[2] The Math Works, Inc.Matlab Excel Builder User’s Guide[M]. Natick: The MathWorks, Inc,2002.
[3] 張威.Matlab應用程序集成與發布[M].西安:西安電子科技大學出版社,2005.
[4] 竺士章.發電機勵磁系統實驗[M].北京:中國電力出版社,2005. 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲福利免费| 午夜日韩在线| 亚洲欧美精品在线| 在线亚洲免费| 99在线精品视频在线观看| 亚洲精品国产精品国产自| 亚洲国产精品一区二区第四页av| 海角社区69精品视频| 国产日韩av在线播放| 国产女主播视频一区二区| 国产精品素人视频| 国产精品午夜在线| 国产精品一区二区在线观看| 国产精品无码永久免费888| 国产精品毛片高清在线完整版| 欧美日韩一区二区高清| 欧美日韩一二三区| 国产精品久久久久999| 国产精品男人爽免费视频1| 国产精品美女主播在线观看纯欲| 国产精品国产精品国产专区不蜜| 国产精品vvv| 国产九九精品视频| 国产一级一区二区| 在线观看欧美日本| 亚洲黑丝一区二区| 夜夜夜久久久| 亚洲欧美另类在线| 久久国产精品色婷婷| 亚洲国产高清自拍| 夜夜嗨av一区二区三区四季av| 亚洲素人在线| 午夜精品福利电影| 久久久久国产精品厨房| 欧美成ee人免费视频| 欧美日韩大片| 国产精品久久久久久久免费软件| 国产精品亚发布| 红桃视频亚洲| 日韩一级精品视频在线观看| 亚洲婷婷国产精品电影人久久| 亚洲欧美日韩久久精品| 亚洲高清一二三区| 在线一区二区三区四区| 欧美一区二区三区免费视| 久热综合在线亚洲精品| 欧美老女人xx| 国产欧美视频一区二区| 亚洲第一精品电影| 夜夜爽www精品| 久久国产精品免费一区| 亚洲色无码播放| 久久久久久久综合| 欧美日韩国产一区二区| 国产毛片久久| 亚洲黄一区二区三区| 亚洲欧美电影院| 亚洲免费成人| 久久狠狠亚洲综合| 欧美日本高清| 国产三级精品三级| 亚洲精选大片| 欧美一区二区三区婷婷月色| 亚洲美女免费精品视频在线观看| 亚洲欧美日韩爽爽影院| 美女脱光内衣内裤视频久久影院| 欧美日韩一区二区视频在线观看| 国产日韩三区| 亚洲精品永久免费| 午夜精品在线| 亚洲午夜精品| 狂野欧美性猛交xxxx巴西| 国产精品国产三级国产aⅴ入口| 伊人久久大香线| 亚洲午夜精品久久久久久浪潮| 91久久亚洲| 久久不射网站| 欧美亚洲第一页| 亚洲第一主播视频| 亚洲欧美一区二区三区久久| 日韩视频中午一区| 久久婷婷一区| 国产精品区一区二区三| 亚洲精品乱码久久久久久久久| 欧美中文字幕精品| 性欧美8khd高清极品| 欧美日韩第一区日日骚| 在线精品观看| 久久精彩视频| 欧美在线你懂的| 国产精品福利片| 亚洲美女精品成人在线视频| 亚洲国产精品欧美一二99| 欧美一区二区三区在线播放| 欧美日韩亚洲视频| 最新国产の精品合集bt伙计| 久久精品99久久香蕉国产色戒| 欧美亚洲视频| 国产精品电影网站| 日韩一级欧洲| 99亚洲伊人久久精品影院红桃| 免费成人小视频| 国内精品一区二区| 欧美在线不卡视频| 午夜精品久久久久| 欧美午夜精品理论片a级大开眼界| 亚洲国产精品精华液网站| 久久精品日产第一区二区| 久久riav二区三区| 国产美女精品一区二区三区| 亚洲一区二区精品在线观看| 一本久道久久综合狠狠爱| 欧美国产在线电影| 亚洲激情在线播放| 亚洲精品久久久久中文字幕欢迎你| 久久五月天婷婷| 好吊成人免视频| 亚洲国产视频一区| 老司机午夜免费精品视频| 尤物99国产成人精品视频| 亚洲国产欧美久久| 免费观看成人www动漫视频| 精品999在线观看| 最新日韩在线视频| 欧美国产日韩视频| 亚洲日本视频| 一区二区三区波多野结衣在线观看| 欧美日韩精品一区视频| 日韩一二三在线视频播| 亚洲香蕉成视频在线观看 | 国产精品夫妻自拍| 亚洲手机视频| 欧美亚洲一区二区在线| 国产日产欧美a一级在线| 欧美在线观看日本一区| 久久亚洲综合| 亚洲激情网站免费观看| 亚洲午夜电影在线观看| 国产精品久久久一区二区三区| 亚洲免费影院| 久久蜜桃精品| 亚洲国产精品日韩| 亚洲特级片在线| 国产乱码精品一区二区三区五月婷| 欧美一区二区黄色| 欧美1区免费| 99精品欧美| 久久成人资源| 在线免费日韩片| 亚洲午夜一区二区三区| 国产欧美一区二区精品性色| 亚洲高清一区二| 欧美日韩亚洲一区二区三区在线| 亚洲一区二区在线播放| 久久三级福利| 亚洲精品视频在线观看网站| 先锋资源久久| 在线欧美日韩国产| 亚洲无线观看| 国产欧美在线| 亚洲精品免费网站| 国产精品久久久久久久9999| 久久成人免费视频| 欧美日韩黄色一区二区| 性高湖久久久久久久久| 欧美国产日本高清在线| 亚洲午夜视频在线观看| 久久中文字幕导航| 一区二区日韩免费看| 久久亚洲视频| 亚洲最新合集| 久热爱精品视频线路一| 9色精品在线| 久久午夜色播影院免费高清| 日韩一区二区福利| 久久久久久久久久久久久久一区| 亚洲人体偷拍| 久久久国产亚洲精品| 亚洲免费成人av电影| 久久精品动漫| 日韩一本二本av| 久久人人爽爽爽人久久久| 一区二区三区精密机械公司| 久久一区精品| 亚洲一区二区三区成人在线视频精品| 蜜桃av一区二区| 亚洲欧美国产精品桃花| 欧美精品久久久久久久久久| 性视频1819p久久| 欧美日韩黄色一区二区| 久久精品一区二区三区不卡牛牛| 欧美日韩中文字幕精品| 亚洲国产美女精品久久久久∴| 国产精品私拍pans大尺度在线| 亚洲麻豆av| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧美日韩精品久久亚洲区| 亚洲国产一区二区三区在线播| 久久成人精品无人区| 一区二区av在线|