polyfit
函数用于多项式的曲线拟合。
p = polyfit(x,y,n)
[p,S] = polyfit(x,y,n)
[p,S,mu] = polyfit(x,y,n)
说明
clc,clear,close all; %清除命令,清空工作区,关闭所有窗口
x=[0.33, 1.12, 1.41, 1.71, 2.19];
y=[0.68, 0.91, 1.15, 1.83, 2.07];
%拟合
p1=polyfit(x, y, 1);% 用x 和 y 拟合多项式, 1 表示一次多项式
disp(p1);% 输出 0.8025 0.2431 表示多项式是 f(x) = 0.8025 * x + 0.2431
%绘制图形
y1=polyval(p1, x);
plot(x, y, '*', x, y1, '-');
x=[0.47, 0.96, 1.76, 2.53, 3.30, 3.74];
y=[1.07, 1.75, 2.27, 2.31, 1.49, 0.74];
% 拟合多项式
p2 = polyfit(x,y, 2); %2代表二次多项式拟合
disp(p2); %输出 -0.5495 2.2250 0.1260 多项式为 f(x) = -0.5495 * x * x + 2.225 * x + 0.126
%绘制图形
x2=0:0.1:4;
%x2=x;
y2 = polyval(p2, x2);
plot(x, y, '*', x2, y2 , '-');