跪求用Matlab解带指数的三元方程组

方程组以图片的形式上传到附件中,已知v1、v2、v3分别为53.56、24.46、10.16,T1、T2、T3分别为323.13、343.13、373.13,求解未知量A、B、m0。

用solve()函数,求解就ok了.

 v1=53.56;v2=24.46;v3=10.16;T1=323.13;T2=343.13;T3=373.13;

 syms A B m0

s=solve(log10(v1+A)-B+m0*log10(T1),log10(v2+A)-B+m0*log10(T2),log10(v3+A)-B+m0*log10(T3));

s.A,s.A,B.m0

运行结果如下

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-21
先新建一个函数
function F = fun1( x )
v1=53.56;
v2=24.46;
v3=10.16;
T1=323.13;
T2=343.13;
T3=373.13;
F=[log10(v1+x(1))-x(2)+x(3)*log10(T1);
log10(v2+x(1))-x(2)+x(3)*log10(T2);
log10(v3+x(1))-x(2)+x(3)*log10(T3)];
end
再重新建个脚本

clc
x0=[1 -10 1];
options=optimoptions('fsolve','Display','iter','TolFun',1e-50,'TolX',1e-50);
[x,fval,~,output,~] = fsolve(@fun1,x0,options);
A=x(1)
B=x(2)
m0=x(3)

x0是初值,初值不同解可能不同(局部收敛)
相似回答