龙空技术网

MATLAB的polyfit函数进行多项式拟合函数关系

云龙派 865

前言:

眼前咱们对“多项式拟合曲线原理”大致比较着重,看官们都想要知道一些“多项式拟合曲线原理”的相关资讯。那么小编同时在网摘上网罗了一些关于“多项式拟合曲线原理””的相关知识,希望我们能喜欢,小伙伴们一起来学习一下吧!

很多时候我们需要对数据进行拟合,使用一次拟合或者多项式拟合,同时绘制拟合的置信区间以及多项式拟合图。MATLAB的polyfit函数能够进行多项式曲线拟合,基于最小二乘拟合原理。

基本语法

P = polyfit(X,Y,N)[P,S] = polyfit(X,Y,N)[P,S,MU] = polyfit(X,Y,N)(1)P = polyfit(X,Y,N) 返回次数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。p 中的系数按降幂排列,p 的长度为 n+1.其中 X 为输入的向量x,Y 为得到的函数值,N 表示拟合的最高次数,返回的P值为拟合的多项式的系数。(2) [P,S] = polyfit(X,Y,N)还返回一个结构体 S,S可用作 polyval 的输入来获取误差估计值(S为由范德蒙矩阵的QR分解的R分量)。其中 X 为输入的向量x,Y 为得到的函数值,N 表示拟合的最高次数,返回的P值为拟合的多项式的系数(3)[P,S,MU] = polyfit(X,Y,N)还返回 mu,mu是一个二元素向量,包含中心化值和缩放值。mu(1) 是 mean(x),mu(2) 是 std(x)。使用这些值时,polyfit 将 x 的中心置于零值处并缩放为具有单位标准差。2、多项式在x处的值y可用下面程序计算。     y=polyval(P,x) 

实例1

使用4次多项式拟合拟合正弦函数曲线。

程序

clc;clear all;close all;x0 = -pi:0.1:pi;y0 = sin(x0);p0 = polyfit(x0,y0,4);y1 = polyval(p0,x0);figure;plot(x0,y0,x0,y1,'r');poly2sym(p0)%得到表达式x1 = -1:0.2:1;y1 = 1./(1 + 25*x1.^2);x0 = -1:0.01:1;y0 = 1./(1 + 25*x0.^2);p3 = polyfit(x1,y1,3);%拟合成三次多项式p5 = polyfit(x1,y1,5);%拟合成五次多项式p10 = polyfit(x1,y1,10);%拟合成10次多项式y3 = polyval(p3,x0);y5 = polyval(p5,x0);y10 = polyval(p10,x0);plot(x0,y0,'g',x0,y3,'r',x0,y5,'m',x0,y10,'b');legend('orig','3次','5次','10次')

运行结果

实例2

程序

clc;clear all;close all;%钢线碳含量x = [0.1 0.30 0.40 0.55 0.70 0.80 0.95];y = [15 18 19 21 22.6 23.8 26];p1= polyfit(x,y,1);p3 = polyfit(x,y,3);p5 = polyfit(x,y,5);disp('一次多项式拟合表达式和数据')y11 =vpa( poly2sym(p1),6)%得到表达式y1 = polyval(p1,x)disp('三次多项式拟合表达式和数据')y11 = vpa(poly2sym(p3),6)%得到表达式y3 = polyval(p3,x)disp('五次多项式拟合表达式和数据')y11 = vpa(poly2sym(p5),6)%得到表达式y5 = polyval(p5,x)figure;plot(x,y,'r-');hold on;plot(x,y1,'b-');plot(x,y3,'c-');plot(x,y5,'m-');xlabel('碳含量x');ylabel('电阻y');grid on;legend('原始数据','一次多项式拟合数据','三次多项式拟合数据','五次多项式拟合数据','location','northwest')

运行结果

一次多项式拟合表达式和数据y11 =12.5503*x + 13.9584y1 =   15.2134   17.7235   18.9785   20.8611   22.7436   23.9987   25.8812三次多项式拟合表达式和数据y11 =8.92536*x^3 - 14.6277*x^2 + 19.2834*x + 13.2132y3 =   15.0041   17.9227   19.1573   20.8791   22.6054   23.8480   25.9833五次多项式拟合表达式和数据y11 =146.16*x^5 - 386.879*x^4 + 385.533*x^3 - 178.856*x^2 + 49.9448*x + 11.4481y5 =   15.0023   17.9654   19.0758   20.9111   22.6834   23.7571   26.0049>>

标签: #多项式拟合曲线原理 #多项式拟合曲线原理是什么 #多项式拟合的优缺点 #如何用多项式拟合曲线 #多项式拟合方法