永发信息网

在c#中提取matlab传出的多个参数,怎么弄啊,我老是搞不好 求帮助,谢谢

答案:3  悬赏:10  手机版
解决时间 2021-12-22 21:15
在c#中提取matlab传出的多个参数,怎么弄啊,我老是搞不好 求帮助,谢谢
最佳答案
这两天我也遇到了该问题,刚刚解决掉,跟你分享下吧。
//输入这里想传入的2个输入参数,为了支持矩阵好通用,所以得弄成Array
double[] a = { 1, 2, 3, 4, 5, 6 };//输入参数1
double[] b = { 2, 4, 6, 8, 10, 12 };//输入参数2
double[,] c = new double[3, 2];//输出参数1
double[,] d = new double[3, 2];//输出参数2
//这些参数都是矩阵
MWNumericArray ma = new MWNumericArray(3, 2, a);//转换成matlab需求的格式
MWNumericArray mb = new MWNumericArray(3, 2, b);
//输出参数是一个MWArray数组
MWArray[] agrsOut = new MWArray[2];//两个输出参数,一定要写数量
//输出几个输出参数可以是不同类型的,比如第一个元素是矩阵,第二个是数值
//同理,输入参数也是一个MWArray数组
MWArray[] agrsIn = new MWArray[] { ma,mb};
//调用函数,输出参数需要加 ref 关键字
myFun.MatrixOpera(2, ref agrsOut, agrsIn);
//2表示输入参数的个数,输出结构都在argsOut中,类似于c的指针参数输入
//转换得到实际的输出参数
MWNumericArray x1 = agrsOut[0] as MWNumericArray;
MWNumericArray x2 = agrsOut[1] as MWNumericArray;
c = (double[,])x1.ToArray();
d = (double[,])x2.ToArray();
//一定要注意最后c和d的转化,不同类型的转换差异很大厄
//ToArray()对应n*m的数组
//ToScalarDouble()对应单个数值
//ToVetor()对应1维数组
全部回答
截取当前屏幕,另存为本地文件夹位置。 c#去读该图片放到picturebox里面即可。
MWArray[] result = myMatlabClass.FuncName(2, p1,p2); MWNumericArray m0 = (MWNumericArray)result[0]; MWNumericArray m1 = (MWNumericArray)result[1];
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
沁的广州读音是什么
如果用图表示各种概念之间的关系,下列选项与
如图所示的演示实验说明:在压力一定的情况下
Because of H7N9 bird flu, all the chicken
“一个单独的提琴手是自己指挥自己,一个乐队
有些晶体水合物在空气中易失去结晶水,是 现象
单选题在下列哪种情况中,力对物体做了功A.提
银子听声音真的能辩真假吗
有人对自己的前女朋友有不好的想法我应该怎么
染什么头发好看
3.2+3.2+3.2+3.2+3.2=________×________=___
信用卡积分哪家银行实用
什么样的表情填形容词
目前已知的被子植物有________种,占地球上所
三国志·邓张宗杨传第十五阅读答案
推荐资讯
请问专家我在河边捡到一个天然鹅卵石鞋,底盘
豆腐干是怎么制做的
巴西国土面积是多少
爱笑会议室有一期是明星学肖旭做动作
同一款手机有一部手机搜索不到蓝牙耳机
已知A={x|x2+ax+b=0},B={x|x2+cx+15=0},A∪
小名轩轩是什么意思
DNF体验服什么时候发点券啊?
每天中午不吃饭 好不好
硅胶奶瓶好不好 硅胶奶瓶有害吗
郑州去武当山怎么坐车
生化危机6看完剧情为什么会卡住,一直卡在“
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?