问题 为研究某一化学反应过程中, 温度 ℃)对产品得率 (%)的影响, 测得数据如下:
温度 ℃)
100 110 120 130 140 150 160 170 180 190
得率 (%)
45 51 54 61 66 70 74 78 85 89
程序编写思路为: 任意给定两个集合A (此处表示温度)、B(此处表示得率), 由公式(*)可定义两个二元函数(集合A和B为其变量)分别表示 a 和 b .即y=ax+b;
%编写M文件
function [a,b]=yoyo(A,B,n)
sum1=0;sum2=0;sum3=0;sum4=0;
for i=1:n
sum1=sum1+A(1,i)*B(1,i);
sum2=sum2+A(1,i);
sum3=sum3+B(1,i);
sum4=sum4+A(1,i)*A(1,i);
end;
a=(n*sum1-sum2*sum3)/(n*sum4-sum2^2);
b=1/n*sum3-a/n*sum2;
%输入集合A和B
>> A=[100 110 120 130 140 150 160 170 180 190];
>> B=[45 51 54 61 66 70 74 78 85 89];
>> [a,b]=yoyo(A,B,10)
a =
0.4830
b =
-2.7394
%用MATLAB自带函数验证结果
>> c=lsqcurvefit('abc',[1,1],A,B)
c =
0.4830 -2.7394 |