当前位置:编程学习 > C#/ASP.NET >>

C#中调用matlab函数的问题 ~~~~~~~~急啊,望指点

我想实现在C#中调用matlab函数,在网上找了一些资料,基本做法就是将M文件作成com组件,我的M文件如下:
function X=test(H,f,A,b,Aeq,beq,LB,UB)
X=QUADPROG(H,f,A,b,Aeq,beq,LB,UB)    //此函数为matlab内的函数
但在build->com object时,总是出错,错误是:

error LNK2001: unresolved external symbol _mlfJavaobject 
C:/MATLAB6p5/work/quadTest/src/quadTest_1_0.dll : fatal error LNK1120: 1 unresolved externals 
  MBUILD.BAT: Error: Link of 'C:/MATLAB6p5/work/quadTest/src/quadTest_1_0.dll' failed

但如果我的M文件为:
function X=test(a,b)
X=a+b
则可以成功,请问这是什么原因,望高手指点,急啊~~~~~~~~~~~~ --------------------编程问答-------------------- 本来用M做的COM就经常做不好,时间用得又长,做出来又大,意思不大,而且bug多,

看你的版本,最新的,2007a,是NETTool 1.1,还是2.0,这个可以用VS C++ 8.0来编译DLL,除了慢其它还是可以

做的时候注意总名字字符串的长度不要超出范围,这个是一个错误原因,另外,配置要先做完 
 
mbuild -setup...

你机器要好才行.. --------------------编程问答-------------------- 谢谢指点!!
“用VS C++ 8.0来编译DLL“?是指什么意思呢?怎么做呢?
若要在C#里调用matlab函数,除了做成com组件外还有其它方法吗?? --------------------编程问答-------------------- 最好是做成DLL来调用,新版matlab如2007a比原来更好些,但运行matlab对机器的要求更大,不然半天不动

它提供了些,数据转换的类(matlab向net2005提供得有一个名称空间,DLL的类集用于帮助它们之间的数据转换等)你用一用就知道的了.

其它方法与C#的关联,没试过,估计可能很麻烦,很复杂. --------------------编程问答-------------------- 利用dll方式能够脱离Matlab平台马 --------------------编程问答--------------------
引用 4 楼 adaptcw 的回复:
利用dll方式能够脱离Matlab平台马

貌似不能,服务器上得装matlab,或者copy一些组建,具体是什么我忘了... --------------------编程问答-------------------- 可以脱离哈  --------------------编程问答--------------------
引用 6 楼 hua_007 的回复:
可以脱离哈

如何脱离?
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,