使用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?怎么求?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 18:47:17
使用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?怎么求?
使用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?
怎么求?
使用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');
得到的结果如图所示