你这个程序是对的呀,也只是有一点的小毛病呀
clear all
%线性拟合的程序:
x=[15 15.2 15.4 15.6 15.8 16 16.2 16.4 16.6 16.8];
y=[0.01 0.015 0.019 0.024 0.03 0.036 0.041 0.047 0.052 0.057];
p=polyfit(x,y,1);
yfit=polyval(p,x);
figure(1);
plot(x,y,'r*',x,yfit,'b-');
legend('原始数据','拟合直线');
xlabel('X/mm');
ylabel('V/mV');
grid on
%在计算非线性误差过程中,需要求实际输出值与拟合直线输出值的最大偏差,这也可通过编程实现,
yerr=y-yfit;
[C I]=max(yerr);
figure(2)
scatter(x,yerr,'o');
hold on
plot(x,yerr,'r-');
xlabel('X/mm')
ylabel('V/mV')
grid on