怎样用matlab产生一组实验数据,并求这组数据的3阶拟合多项式?

如题所述

第1个回答  2022-12-11

编写程序如下:
x = (0: 5);
y = rand(1,6);
p = polyfit(x,y,3)%p是多项式系数
f = polyval(p,x);
plot(x,y,'o',x,f,'-')

一、x=[1.75,2.25,2.5,2.875,2.686,2.563];y=[0.26,0.32,0.44,0.57,0.50,0.46];plot(x,y,'g.','markersize',25);%%%有这个是先描点,看出大致是什么图,这里看到像二次曲线的。hold on ;p3=polyfit(x,y,2)。

二、同理x=[0.26,0.32,0.44,0.57,0.50,0.46];y=[1.75,2.25,2.5,2.875,2.686,2.563];plot(x,y,'g.','markersize',25);hold on ;p3=polyfit(x,y,1);x2=0:0.5:2;y2=3.3237*x2+1.0247;plot(x2,y2,'b')。

三、代码:clear all;clc;close all;x=[1.75,2.25,2.5,2.875,2.686,2.563];y=[0.26,0.32,0.44,0.57,0.50,0.46];plot(x,y,'r*')[p,s]=polyfit(x,y,5)  %参数改为1就是线性拟合y1=polyval(p,x)hold on;plot(x,y1,'b.')五次多项式拟合生成的函数值与原数据基本重合。