拟合以下数据
[0.00016 0.00031 0.00049 0.00067 0.00082];
[0.03025 0.0605 0.09075 0.125 0.15625];
代码:
X=[0.00016 0.00031 0.00049 0.00067 0.00082];
Y=[0.03025 0.0605 0.09075 0.125 0.15625];
n=5;
x2=sum(X.^2); % 求Σ(xi^2)
x1=sum(X); % 求Σ(xi)
x1y1=sum(X.Y); % 求Σ(xiyi)
y1=sum(Y); % 求Σ(yi)
a=(nx1y1-x1y1)/(nx2-x1x1); %解出直线斜率b=(y1-ax1)/n
b=(y1-ax1)/n; %解出直线截距
%作图
% 先把原始数据点用蓝色十字描出来
figure
plot(X,Y,'+');
hold on
grid on
% 用红色绘制拟合出的直线
px=linspace(0,0.001,45);
py=a*px+b;
plot(px,py,'r');
运行结果