vc++ matlab混合编程 fsolve

vc++ matlab混合编程 fsolve,第1张

这个可以有四种方法实现:

(1)将Matlab程序编译成 C/C++源文件并嵌入VC++;

(2)在C/C++程序中利用 Matlab engine调用 Matlab函数;

(3)在C/C++程序中直接使用 Matlab C/C++ Math Library;

(4)将.m文件编译成 *.dll文件嵌入到 VC++的液磨程序中。

自己上网查一下。

不过告诉你一个简单闹斗斗的,在matlab的工作窗口执行:销唤

mbuild -setup

按提示 *** 作

然后执行

met -setup

完成后,到VC里面,应该会出现met工程选项,然后 *** 作就很简单了。

X=[]

W=[]

for i=1:5000

W(i)=rand%#ok<SAGROW>

end

x0=1

options=optimset('TolFun', 1e-09)

for i=1:length(W)

X(i)=fsolve(@(x)x/0.21+(x/12289)^(1/0.0903)-W(i),x0)%#ok<SAGROW>

end

这里的W是生成的一个拥有5000个在(0,1)之间稿岁数旅敬谈的拆碰向量每一人对应一个c,可以自己改

function F = myfun(x)

F = x*x*x-[1,23,4]

Save this function file as myfun.m somewhereon your MATLAB path. Next, set up an initial point and optionsand call fsolve:

x0 = ones(2,2)% Make a starting guess at the solution

options = optimoptions('fsolve'芹蔽神缓,'Display'嫌瞎州,'off')% Turn off display

[x,Fval,exitflag] = fsolve(@myfun,x0,options)

The solution is

x =

-0.1291 0.8602

1.2903 1.1612

Fval =

1.0e-009 *

-0.1621 0.0780

0.1167 -0.0465

exitflag =

1

and the residual is close to zero.

sum(sum(Fval.*Fval))

ans =

4.8133e-20


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12436398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存