0%

Matlab/数学建模与Matlab

数学建模与Matlab

数学建模是一个跨学科的竞赛,关乎生产生活中的实践问题

多项式拟合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
clc;
clear;
%准备数据
x=0:0.2:10;
y=0.25*x+20*sin(x);
% 5阶多项式拟合
p5=polyfit(x,y,5);
y5=polyval(p5,x);
% 8阶多项式拟合
p8=polyfit(x,y,8);
y8=polyval(p8,x);
% 60阶多项式拟合
p60=polyfit(x,y,60);
y60=polyval(p60,x);


figure
plot(x,y,'ro');
hold on;
plot(x,y5,'b--');
plot(x,y8,'b:');
plot(x,y60,'r-.');
xlabel('x');
ylabel('y');
legend('原始数据','5阶多项式','8阶多项式','60阶多项式');
% 小结:
% 使用pn=polyfit(x,y,n)获取拟合系数,其中x是原始x值,y是由原始x值计算出来的元素函数y值,其中n是你想进行的多项式拟合阶数
% 使用yn=polyval(p,x)可以获得拟合后的函数值