给出一组数据,如何用MATLAB去预测将来的数据。

2024-05-06 05:04

1. 给出一组数据,如何用MATLAB去预测将来的数据。

这样:
x=[1 3 5 6 8 9 10 11 12 14 15 17 19 21 23 25];
y=[10 20 42 60 73 79 80 78 73 64 56 71 51 42 41 40];
plot(x,y,'ro');
p=polyfit(x,y,4);%于是拟合出的曲线就是p(1)x^4+p(2)x^3+p(3)x^2+p(4)x+p(5),想拟合成其它次数的多项式只需将4改为相应的次数即可
f=poly2sym(p);
xinterp=[2 4 7 13 16 18 20 22 24];
yinterp=subs(f,xinterp);
hold on;
plot(xinterp,yinterp,'o');
ezplot(f,[0,30])

扩展资料:注意事项
函数命令为:
a=polyfit(x,y,m)    % x,y为对应的自变量,m为需要拟合的最高次幂
y=polyval(a,x);      %根据拟合的函数得出x对应的因变量的值
函数表达形式为:f(x)=a1*x^m+...+am*x+a_m+1
polyfit(x,y,n)其中:x, y为已知数据点向量, 分别表示横、纵坐标,n为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中.参数p为拟合多项式 y=a1x^n+...+anx+a,共n+1个系数。
示例:
%多项式拟合
x = (0: 0.1: 7)';
y = sin(x);
p = polyfit(x,y,3) %p为拟合后的多项式系数
z=polyval(p,x);
plot(x,y,'r',x,z,'b')
其中p为拟合后的多项式系数,运行结果为:
p =0.0736   -0.7095    1.5250   -0.0296

给出一组数据,如何用MATLAB去预测将来的数据。