1樓:o夏怡然
用正交多項式作最小二乘曲線擬合
(1)函式語句與形參說明
void spir(int n,int m,double x,double y,double a, double dt)
int n 給定資料點的個數
int m 擬合多項式的項數,即擬合多項式的次數為m-1。要求m<=n且m<=20
double x[n] 存放給定n個資料點的x座標
double y[n] 存放給定n個資料點的y座標
double a[m] 返回m-1次擬合多項式的m個係數。擬合多項式形式為
pm-1(x)=a(0)+a(1)*x+a(2)*x2+-----a(m-1)*x(m-1)
double dt[3] 其中dt[0]返回擬合多項式與資料點誤差的平方和;dt[1]返回擬合擬合多項式與資料點
誤差的絕對值之和;dt[2]返回擬合擬合多項式與資料點誤差絕對值的最大值
void spir() 過程
(2)函式程式
//檔名spir.c
//多項式擬合
#include
#include
void spir(int n,int m,double x,double y,double a, double dt)
q=q/d1; //q0
alpha=alpha/d1; //alpha(0)
a[0]=q*b[0];
if (m>1)
q=q/d2; //q1
alpha=g/d2; //alpha(1)
beta=d2/d1; //計算beta(1)
d1=d2;
a[1]=q*t[1];
a[0]=q*t[0]+a[0];
}for (j=2;j<=m-1;j++) //遞推計算qj(x)
q=q/d2; //qj
alpha=g/d2; //alpha(j)
beta=d2/d1; //計算beta(j)
d1=d2;
a[j]=q*s[j];t[j]=s[j];
for (k=j-1;k>=0;k--)
}dt[0]=0.0; dt[1]=0.0;dt[2]=0.0;
for (i=0;i<=n-1;i++)
return;}例:
x 4.0 10.6 17.0 33.1 52.2 70.8
y 1.5 2.0 2.3 2.8 3.2 3.5
主函式程式如下(包括在檔案spir.c中):
void main()
;double y[6]=;
spir(6,3,x,y,a,dt);
for (i=0; i<
for (i=0; i<
printf("\n");
return;
}程式執行結果為
a(0)=1.382240
a(1)=0.055547
a(2)=-0.000370
dt(0)=0.028372 dt(1)=0.377703 dt(2)=0.098514
2樓:夏瘋
所謂正交多項式,通常是一些多項式a(x),b(x),..,z(x),有可數無窮多個。
滿足=1
=0<,>一般定義為一個區間上兩個多項式乘積的定積分,比如-1到1上。
所謂擬合,就是給定一個q(x)是一個函式,在區間-1到1上。
滿足q(x)=a*a(x)+b*b(x)+...+z*z(x)=a
正交多項式最小二乘法擬合和最小二乘法擬合的區別
3樓:泡泡魚兒曉
p=polyfit(x,y,n) 用於多項式曲線擬合,其中x,y是一個已知的n個資料點座標向量,當然其長度均勻為n,n是用來擬合的多項式係數,p是求出的多項式係數,n次多項式應該有n+1個係數,故p的長度為n+1。擬合的準則是最小二乘法。
用正交多項式做最小二乘擬合的程式框圖 10
4樓:匿名使用者
5 .理解曲線擬合的最小二乘法並會計算 , 瞭解用正交多項式做最小二乘擬合。6
請問,matlab中使用正交多項式擬合的最小二乘演算法用什麼函式?
5樓:炮姐
p=polyfit(x,y,n) 用於多項式曲線擬合,其中x,y是一個已知的n個資料點座標向量,當然其長度均勻為n,n是用來擬合的多項式係數,p是求出的多項式係數,n次多項式應該有n+1個係數,故p的長度為n+1。擬合的準則是最小二乘法。
當ab為何值時多項式,當a,b為何值時,多項式a22ab2b22a4b27有最小值,並求出這個最小值求助
原題是copy 當a,b為何值時,多項式a2 2ab 2b2 2a 4b 27有最bai小值du,並求出這個最小值 a2 2ab 2b2 2a 4b 27 a b 2 2 a b 1 b2 6b 9 17 a b 1 2 b 3 2 17 17當a b 1 0且b 3 0 即a 4,b 3時取zhi...
已知多項式4A2 AB B2與多項式 3A2 3MAB 2B2,的和中不含ab項,求m的值
和 4a 2 ab b 2 3a 2 3mab 2b 2 a 2 1 3m ab 3b 2 不含ab則係數為0 1 3m 0 m 1 3 當a 0,b 3分之1時,不含ab項,a 2 ab 3mab 3b 2 a 2 3m 3b 解 4a 2 ab b 2 3a 2 3mab 2b 2 4a 2 a...
解多項式的問題
像這種高次方抄 的 高中一般最襲高4次方 一般首先採用試根法,像這種方程的根一般是很簡單的 至少有兩個是 可以試出來的 像是正負1,正負2,95 就這幾個數,除了極特殊情況 這樣就找到一個根,提出公因式,這樣方程就將成了三次方,在分解因式就簡單了 3次後一般就好分解了 像這道題,你可以試出1就是一個...