C#窗体编程中如何调用matlab库函数 50

我在用visualstudio2012c#窗体应用编程,由于想要解一个高次方程,需要调用matlab7.0中的库函数solve,请问有什么方法可以调用,需要如何预设?我看... 我在用visual studio 2012 c#窗体应用编程,由于想要解一个高次方程,需要调用matlab7.0 中的库函数solve,请问有什么方法可以调用,需要如何预设?
我看到网上VC和matlab混编教程中说通过matlab引擎方式调用,具体要怎么做呢?或者有没有其他方法实现调用?希望有大神来知道一下。十分感谢
展开
 我来答
帐号已注销
2013-04-15 · TA获得超过2184个赞
知道小有建树答主
回答量:631
采纳率:100%
帮助的人:644万
展开全部
在matlab中建一个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
在MATLAB R2007a中输入deploytool命令(在matlab6.5中输入comtool),打开Matlab Build For .net窗口新建个工程,在此工程中“Add files”即填加test.m这个文件,build即可生成COM组件,为test.dll,即为我们将在C#中引用的COM组件。
Build时matlab已经自动将此dll在注册表中注册
不过之前我们还需做一个准备工作,打开开始菜单“运行”,输入regsvr32 "matlab安装路径\bin\win32\mwcomutil.dll",即对mwcomutil.dll进行注册(这个dll是matlab下作的任何com组件都要用到的dll),下面我们在其他编译器下调用时就可以用了。
2,下面即可在C#中调用dll文件:
"引用"右击,选择浏览,找到test.dll,添加。
"引用"右击,选择浏览,找到MWArray.dll(matlab安装路径\toolbox\dotnetbuilder\bin\win32\v2.0\MWArray.dll),添加。
再写入以下代码:
test.testclass st = new test.testclass();
MathWorks.MATLAB.NET.Arrays.MWArray m = 1, n = 2;
st.test(m,n);
更多追问追答
追问
我想调用的matlab里自带的库函数
追答
变通一下不就结了?自己编写个函数,把系统函数写进去不就行了吗?另外,系统函数也是.m文件,你在matlab的安装目录内搜索你那个函数名,例如:plot.m,打开这个文件,操作和自定义函数一样,同样可以调用。
实际上,不管是自定义函数,还是系统函数,都是一样的,都是.m文件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式