1

我需要编写一个脚本来加载一些数据文件,其中包含变量 x 和 y 并适合一、二、三、四和五次多项式。将数据绘制为图形上的蓝点,并在同一轴上使用不同颜色的线绘制所有五个多项式拟合。应该是这样的:

在此处输入图像描述

相反,我将多项式与数据分开。数据轴是([100 200 -0.2 0.2]),而我的 polinoms 是轴([0 100 -0.2 0.2])。

我的脚本:

%Fitting Polynomials
Dat=load('randomData.mat');
[p1,S1,mu] = polyfit(x,y,1)
[Y1,delta]= polyval(p1,x,S1,mu)
[p2,S2,mu] = polyfit(x,y,2)
[Y2,delta]= polyval(p2,x,S2,mu)
[p3,S3,mu] = polyfit(x,y,3)
[Y3,delta]= polyval(p3,x,S3,mu)
[p4,S4,mu] = polyfit(x,y,4)
[Y4,delta]= polyval(p4,x,S4,mu)
[p5,S5,mu] = polyfit(x,y,5)
[Y5,delta]= polyval(p5,x,S5,mu)
figure;
plot(x,y,'b.','MarkerSize',10)
hold on 
plot(Y1,'r')
plot(Y2,'g')
plot(Y3,'m')
plot(Y4,'c')
plot(Y5,'k')
xlabel('X');
ylabel('Y');
title('Polynomial fitting to noisy data');
legend('Data','order 1','order 2','order 3','order 4','order 5')
hold off
4

1 回答 1

0
plot(Y1,'r')

应该

plot(x, Y1,'r');

等等

请记住,Y1它实际上并不表示多项式关系,它只是在点 处p1评估(通过polyval)的多项式样本的向量x

于 2013-06-16T01:02:24.387 回答