MATLAB下的多項式擬合

2021-07-26 21:49:31 字數 958 閱讀 3737

本文只進行線性多項式的擬合,至於非線性的擬合不會涉及,參考文獻為《matlab從入門到放棄》。

多項式格式如下:

a為各項係數,x為自變數,n為階。

先說說兩個會用到的函式:

polyfit(x,y,n)           擬合引數的「普通求取法」呼叫格式

poly(a,xp,s)          在xp指定點上計算擬合函式值yp及半頻寬dyp

sum(x)                         求和

我說點人話,polyfit就是用來擬合多項式的,x為自變數,y為因變數,n為擬合階數;

polyval用來呼叫擬合出來的多項式計算值;

sum ……

以其中的y=7*x.^3+3.4*x.^2+1.2*x+5為例

**如下:

x=0:1:10;

y=[5 16.677 228.2512.2 9711646.6 25813816.2 5394.27357];

for i=1:5

fun=polyfit(x,y,i);%得到i從1到5的多項式

y=polyval(fun,x);%計算擬合函式在x處的值。

if sum((y-y).^2)<0.1%利用理論值與實際值做平方差和,如果值小與0.1即滿足需求

res=i  

break;

endend

下面是在matlab上執行的情況

滿足理論值與實際值的平方小與0.1的階數為3,然後直接擬合結果

得出的擬合結果的三階係數為7,二階係數為3.4,一階係數為1.2,常數項為5。

寫於2017-2-13深圳 夜

MATLAB多項式及多項式擬合

多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...

matlab多項式與非多項式擬合

擬合標準 1 原始資料向量與擬合向量之間的距離最小,該距離的度量一般使用誤差平方和表示,即均方誤差 r q y 22 2 當均方誤差最小時,說明構造的擬合向量與原始向量最為接近,這種曲線擬合的方法稱為最小二乘法 3 計算均方誤差最小時的擬合係數,可以通過微積分中求解極值的方法實現 多項式擬合 1 多...

多項式擬合缺點 多項式擬合

在網上看別人的心得 一 最小二乘法的基本原理 從整體上考慮近似函式同所給資料點 i 0,1,m 誤差 i 0,1,m 的大小,常用的方法有以下三種 一是誤差 i 0,1,m 絕對值的最大值,即誤差 向量的 範數 二是誤差絕對值的和,即誤差向量r的1 範數 三是誤差平方和的算術平方根,即誤差向量r的2...