作业帮 > 数学 > 作业

使用MATLAB 解个方程,已知数据如何求两个未知数?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/10 07:07:48
使用MATLAB 解个方程,已知数据如何求两个未知数?
已知
T=[700 730 760 790 810 840 910 1000];
k=[0.011 0.035 0.105 0.343 0.789 2.17 20 145];
R=8.314
公式

求A和EA?

怎么求?
这不能叫解方程,而是参数拟合

对方程取对数 可得
ln(k)=ln(A)-EA/R*(1/T);
用k的对数结果作y,T的倒数1/T作x,进行线性拟合
的到的
斜率是-EA/R   ,截距是ln(A) 由此可以求出A和EA

T=[700 730 760 790 810 840 910 1000];
k=[0.011 0.035 0.105 0.343 0.789 2.17 20 145];
R=8.314;

p=polyfit(1./T,log(k),1);
A=exp(p(2));
EA=-p(1)*R;
TT=700:1000;
kk=A*exp(-EA./(R*TT));
plot(T,k,'o');hold on;%数据
plot(TT,kk,'k');hold off;%拟合
axis([690 1010 -10 160]);
title(['A=' num2str(A,'%e') ', EA=' num2str(EA,'%e')]);
legend('数据点','拟合曲线','Location','North');

得到的结果如图所示