用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
运行结果如下
先新建一个函数
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是初值,初值不同解可能不同(局部收敛)