p=polyfit(x,y,n):最小二乘法計算擬合多項式係數。x,y為擬合資料向量,要求維度相同,n為擬合多項式次數。返回p向量儲存多項式係數,由最高次向最低次排列。y=polyval(p,x):計算多項式的函式值。返回在x處多項式的值,p為多項式係數,元素按多項式降冪排序。擬合以下資料
x=[12
,9,23
,56,43.5,33
,41.3,76
,63,26
];y=[
-4,-
3.85,-
5.4,-5
,-3.5,
-1.75,-
1.4,
-0.5
,0.4,-
0.85
];
畫離散點
用一次函式擬合上述曲線
clear
clcx=[12
,9,23
,56,43.5,33
,41.3,76
,63,26
];y=[
-4,-
3.85,-
5.4,-5
,-3.5,
-1.75,-
1.4,
-0.5
,0.4,-
0.85];
coefficient=
polyfit
(x,y,1)
;%用一次函式擬合曲線,想用幾次函式擬合,就把n設成那個數
y1=polyval
(coefficient,x)
;plot
(x,y,
'o',x,y1,
'-')
結果:
coefficient=
[0.04603,-
4.34700
]
得到的一次函式為:
二次函式擬合該曲線,結果如下:
其他階數類推
向量x(其中元素作為自變數)中不重複的元素個數m,和擬合階數k需要滿足m>=k+1.簡單分析:k階擬合需要確定k+1個未知引數(如1階擬合y = ax + b需要確定a和b兩個引數),故而至少需要k+1個方程,故而需要至少k+1個不同的已知數對(x,y),由於函式中x只能對應乙個y,故而需要至少k+1個不同的x。
matlab偏最小二乘法
偏最小二乘是建立表到表的線性擬合關係,然後 的方法 處理高維資料 比如在光譜分析中,x是某物質的光譜樣本構成的訓練集,y是對應的成分資料,x是要 成分的光譜資料 function y5,s pls2 x,y,x y5,s pls2 x,y,x 參考自司守奎教材 偏最小而成回歸章節 x y 為模型生成...
Matlab實現最小二乘法準則擬合
資料擬合 問題的提法 已知曲線上n個點 xi,yi i 1,2,n xi互不相同,尋求乙個函式y f x 使y f x 在某種準則下與所有資料點最為接近,即曲線擬合得最好。基本思路是 設按此方法得到的函式 若它接近1,表示f x 能較好的擬合該資料集。若取 matlab中的多項式擬合函式 polyf...
最小二乘法
include stdafx.h include include const int n 2 const int m 5 int sgn double x void lss double g n 1 int xm,int xn,double x m double p,double w m lss函式...