.net是微軟的發展方向,以後我們開發軟件的時候不免會調用一些matlab語言
今晚一直在***圖用c#調用matlab,終於成功。
主要思想就是首先把matlab的m函數做成com組件,然後在c#中應用此com組件,即可。
主要步驟如下:
1.建一個m文件(test.m)
例如:
function test(h,D)
for x=-10:0.1:10,
if x>D
y=h;
hold on;
plot(x,y)
elseif x<-D
y=-h;
hold on;
plot(x,y)
else
y=h/(D*x);
hold on;
plot(x,y)
end
end
2.在matlab中輸入comtool命令,就打開了matlab com builder,
點擊file-new project,新建一個工程,
在component name裏輸入名字 點擊ok就行了。
然後點擊project--Add files,將test.m添加入工程,
然後點Build-Com Object,就會在comtest/distrib/文件夾下生成一個test1_0.dll(它就
是做好的com組件),
Build時matlab已經自動將此dll在註冊表中註冊
我們還需做一個準備工作,進入<matlabroot>/ bin/win32目錄下(matlabroot爲你機器上
matlab安裝的路徑),打regsvr32 mwcomutil.dll ,即對mwcomutil.dll進行註冊(這個dll
是matlab下作的任何com組件都要用到的dll),下面 我們在其他編譯器下調用時就可以用了
。
3.c#下實現調用
新建一個c#項目(我採用的是vs.net2003),選中右邊的解決方案資源管理器中的引用
,點鼠標右鍵,選添加引用,在彈出來的窗口中選com,然後也找到test_1_0 .dll,點選
擇,然後確定就可,此時此com組件也添加到工程裏面去了,同樣我們可以選擇
然後編寫程序
test.testclassClass st=new test.testclassClass();
object m=1,n=2;
st.test(m,n);
即可
然後在c#中就出現了我們所想得到的圖形,呵呵
C#調用matlab(轉載)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.