fishlover 发表于 2007-10-11 16:13

matlab与c#混合编程的问题与心得

最近在搞matlab与c#混合编程,发现了一些问题,说出来大家讨论一下:
(1) matlab中的乘幂运算是非常好用的,但变成com组件后被C#调用起来真是问题多多,我现在束手无策。c#不支持sqrt的写法,连'^'后面是小数都会抛出异常,真是让人郁闷。
(2)matlab中的画图功能在c#能得到很好的应用。
(3)做成的com组件不论是在matlab中生成还是在c#中的初始化都比较耗时间。
所以建议大家在这两者混合编程时,尽量考虑清楚那部分功能在那个程序中实现,而不是一股脑的将计算功能交给matlab,将GUI功能交给c#,这样不仅使程序非常臃肿,而且耗时耗力,出力不讨好。

jimin 发表于 2007-10-11 16:44

不错 希望go on

水私语 发表于 2007-10-11 17:44

c和matlab都学了。。可是还不知道怎么混合用。。有书可以介绍下么

fishlover 发表于 2007-10-11 17:52

回复 #1 fishlover 的帖子

我实在不甘心自己写的一堆matlab程序就这样白白泡汤了,自己又重新想了一下,经过测试我的想法是可行的。
1   matlab中的乘幂运算在c#中的解决方法:
    (1)乘幂计算的原始matlab函数是power(x,y),在c#中的函数是Math.Pow(x,y),所以可以将matlab中的乘幂运算(是指幂不是整数时)统统写成power(x,y)形式。
缺点:程序写起来和c#一样很麻烦,而且matlab7.4a也没有向c#中的函数提示功能,郁闷ing
    (2)若matlab程序中改动太多且不好改时,可以将乘幂运算交给c#。
2matlab传参数给c#时,若是复数是一定要注意用MWComplex class,否则返回的参数是null,传过来的参数根本没法用

[ 本帖最后由 ChaChing 于 2010-7-24 22:41 编辑 ]

fairfanfan 发表于 2008-1-18 22:12

有没有matlab与c#混合编程方面的参考书?
共享一下,共同学习。
页: [1]
查看完整版本: matlab与c#混合编程的问题与心得