日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c#调用Matlab的参数传递

發布時間:2025/4/16 C# 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#调用Matlab的参数传递 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

c#調用matlab函數時,需要將C#數據類型轉換成Matlab數據類型。
此時,需要引用MWArray.dll文件。該程序集包含了與Matlab數據交換的類。其中,MWArray類及每個派生類提供創建和訪問 MATLAB 數據類型的方法。
所有類都派生自抽象的 MWArray 類和每個派生類,映射到 MATLAB 數據類型。但同樣是抽象的 MWIndexArray 除外。

C#類對應Matlab類型
MWNumericArray數值數組使用此類將c# 數值數組(如int[] )轉Matlab數值數組
MWLogicalArraybool數組
MWCharArray字符數組c#字符串對應Matlab的一個字符數組
MWStructArray結構數組c#對象
MWCellArray元組數組c#泛型集合

Matlab函數如下:

function [code,msg] = Test(inta,strp)% box=[minx,maxx,miny,maxy,minz,maxz ] %inta = [1,2,3 ]; %數組%strp = {'Mercury','Gemini','Apollo','Skylab','Skylab B','ISS'}; %元組%strp2 = { {'Mercury',30},{'Gemini',40},{'Apollo',0}}; %元組size(strp); % 1行6列fid=fopen('out.txt','wt');fprintf(fid,'%s\n',strp{1,2});code = size(inta);fprintf(fid,'%g\n',inta(1,2));msg = 'yesy';fclose(fid);return end

其中
c#代碼如下

public int Test(List<double> box, List<string> pathName){MatlabV4.Class1 clazz = new MatlabV4.Class1();MWNumericArray mw_sigma = new MWNumericArray(box.ToArray());// MWCellArray cellArray = new MWCellArray(1,pathName.Count);// MWNumericArray numericArray = new MWNumericArray();for (int i = 1; i < pathName.Count + 1; i++){cellArray[1,i] = ((MWCharArray)pathName[i - 1]);cellArray[1, i] = ((MWCharArray)pathName[i - 1]);}var ret= clazz.Test(mw_sigma,cellArray); //返回一個MWArray類型的變量MWNumericArray arr = (MWNumericArray)ret;return Convert.ToInt32(arr[1,1].ToScalarInteger());}

總結

以上是生活随笔為你收集整理的c#调用Matlab的参数传递的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。