以正交多項式為基底,做最小二乘擬合有大神會嗎求

2021-03-07 08:10:35 字數 2763 閱讀 8291

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就是一個...