《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 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亚洲国产精品_日韩亚洲一区二区
国产午夜精品理论片a级大结局| 日韩视频免费| 欧美日韩精品久久久| 另类欧美日韩国产在线| 欧美在线综合| 午夜视频在线观看一区二区| 亚洲一区激情| 亚洲影视综合| 亚洲视频免费在线| 亚洲午夜视频在线观看| 一区二区三区久久| 一本一本a久久| 中文一区字幕| 亚洲综合精品| 性18欧美另类| 久久精品盗摄| 久久精品青青大伊人av| 久久人人超碰| 久久蜜臀精品av| 乱人伦精品视频在线观看| 快播亚洲色图| 欧美成人国产| 欧美日韩国产丝袜另类| 欧美日韩一区精品| 国产精品久久久久91| 国产欧美1区2区3区| 国产日韩欧美精品在线| 狠狠色香婷婷久久亚洲精品| 影音先锋久久| 亚洲精品中文在线| 亚洲特级片在线| 亚洲欧美一区二区三区极速播放 | aⅴ色国产欧美| 宅男噜噜噜66一区二区| 亚洲综合色噜噜狠狠| 欧美一区二区女人| 久久在线免费观看| 欧美精品三区| 国产精品人人爽人人做我的可爱| 国产日韩欧美一区二区三区在线观看 | 欧美xxxx在线观看| 欧美日本国产视频| 国产精品午夜在线| 伊人久久综合97精品| 日韩性生活视频| 欧美一级视频| 亚洲日本久久| 午夜在线精品偷拍| 欧美成人嫩草网站| 国产精品a久久久久| 狠狠久久综合婷婷不卡| 亚洲精品欧美日韩| 午夜在线电影亚洲一区| 亚洲国产婷婷香蕉久久久久久99| 一区二区三区高清不卡| 亚洲免费在线观看| 蜜臀久久99精品久久久画质超高清| 欧美日韩亚洲一区二区三区在线| 国产精品一区久久| 亚洲精品免费在线| 欧美影院久久久| av成人动漫| 久久精品国产99| 欧美日韩国产免费| 狠狠色狠狠色综合日日五| 9l国产精品久久久久麻豆| 欧美一区二区三区视频免费| 一本色道久久88亚洲综合88| 久久久99爱| 欧美性大战久久久久久久蜜臀| 黄色成人免费观看| 亚洲一区二区三区精品在线| 亚洲全部视频| 久久爱另类一区二区小说| 欧美日韩精品高清| 1024成人网色www| 亚洲欧美日韩在线高清直播| 一本色道久久综合亚洲精品不卡| 久久免费视频网站| 国产精品区一区二区三| 亚洲欧洲日产国产网站| 午夜精品久久久久久久99黑人| 99亚洲一区二区| 久久婷婷丁香| 国产精品最新自拍| 一本久道久久综合狠狠爱| 亚洲欧洲一区二区在线播放| 久久aⅴ乱码一区二区三区| 欧美日韩一区在线观看| 亚洲成人在线视频网站| 欧美影院在线播放| 小黄鸭精品密入口导航| 欧美日韩国产成人在线91| 亚洲电影专区| 久久国产精品高清| 欧美中文字幕在线| 国产精品久久久久久久久婷婷 | 久久不射中文字幕| 国产精品电影网站| 日韩一区二区精品葵司在线| 亚洲精品一区二区三区在线观看| 久久午夜国产精品| 国产日韩欧美一区二区| 亚洲欧美久久| 午夜精品成人在线| 国产精品乱码一区二三区小蝌蚪 | 亚洲国产精品一区制服丝袜| 久久精品在线免费观看| 国产欧美日韩综合一区在线观看| 亚洲一二三区在线| 亚洲一区区二区| 欧美视频免费| 日韩视频精品在线| 一本大道久久精品懂色aⅴ| 欧美激情亚洲国产| 亚洲区第一页| 一本一本久久a久久精品综合妖精| 欧美极品aⅴ影院| 亚洲人成毛片在线播放女女| 日韩视频一区二区在线观看 | 制服丝袜亚洲播放| 欧美人成在线| 亚洲精品综合| 亚洲无限av看| 国产精品久久波多野结衣| 亚洲最新在线| 亚洲一级片在线观看| 国产精品久久77777| 亚洲永久免费av| 久久国产日韩| 黑人操亚洲美女惩罚| 亚洲国产婷婷综合在线精品| 男女精品视频| 亚洲精品影院在线观看| 亚洲一区二区在线| 国产精品女主播| 欧美亚洲日本一区| 久久亚洲精品欧美| 亚洲激情网址| 亚洲天堂免费观看| 国产精品免费网站| 亚欧成人在线| 欧美96在线丨欧| 一本色道久久综合一区| 午夜精品成人在线| 狠狠综合久久| 亚洲伦理自拍| 国产精品理论片| 久久福利精品| 欧美国产三区| 亚洲视频狠狠| 久久人人97超碰国产公开结果| 亚洲激情偷拍| 欧美伊人久久大香线蕉综合69| 国产一区二区欧美日韩| 亚洲理伦在线| 国产精品美女主播| 久久不射电影网| 欧美日韩成人综合| 午夜精品久久久久久久99樱桃 | 欧美精品日韩一本| 亚洲午夜小视频| 久久人人97超碰精品888| 91久久精品一区| 午夜精品成人在线| 在线国产欧美| 亚洲一区二区三区精品在线| 国产亚洲在线| 夜夜嗨av一区二区三区| 国产日韩欧美在线| 亚洲精品视频一区二区三区| 国产精品视频在线观看| 最新亚洲视频| 国产精品久久久久久久久久免费 | 一本色道久久综合| 久久久99久久精品女同性| 亚洲欧洲美洲综合色网| 欧美在线国产| 亚洲人成啪啪网站| 欧美中日韩免费视频| 亚洲欧洲另类| 久久精品国产亚洲5555| 最新国产拍偷乱拍精品 | 欧美日韩在线播放三区四区| 欧美一区二区三区成人| 欧美日韩岛国| 久久精品视频一| 国产精品美女久久福利网站| 91久久精品日日躁夜夜躁国产| 国产精品视频1区| 日韩午夜激情电影| 国产一区二区三区奇米久涩| 中日韩视频在线观看| 韩国自拍一区| 性欧美大战久久久久久久久| 亚洲欧洲在线看| 另类酷文…触手系列精品集v1小说| 亚洲视频 欧洲视频| 欧美精品亚洲一区二区在线播放| 久久www成人_看片免费不卡|