matlab拟合后求误差值

clear all;clc;close all;
x=[1:1:7];
y=[170,1228,1841,3331,1784,1379,1499];
[p,S]=polyfit(x,y,4);
p_x=polyval(p,x);
plot(x,y,'ro','linewidth',1.5)
xlabel('x'),ylabel('y')
hold on
plot(x,p_x,'b','linewidth',1.5)
legend('y(x)','p(x)')
hold off
text(0,min(y)-0.4,['p(x)=',poly2str(p,'x')])

这是拟合曲线的matlab语言,我想求误差值曲线,请问输入什么?

可这样改:
x=1:1:7;
y=[170,1228,1841,3331,1784,1379,1499];
[p,S]=polyfit(x,y,4);
p_x=polyval(p,x);
plot(x,y,'-o')
xlabel('x'),ylabel('y')
hold on
plot(x,p_x,'-+')
yerr=y-p_x;
plot(x,yerr,'-*')
hold off
text(1,min(y)-0.4,['p(x)=',poly2str(p,'x')])
legend('原数据','拟合数据','误差')
温馨提示:答案为网友推荐,仅供参考