- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 最小平方差的方法(The Method of Least Square ).doc
第七章 最小平方差的方法(The Method of Least Square )
本章說明利用最小平方差法, 找出適合一組資料的曲線.
在本章中包含Matlab 的m-file
cheby.m
genpoly.m
orthpoly.m
將須要的m-file之檔案夾加入搜尋路徑中
path(c:\numerical, path)
註: 如果你有安裝Matlab Notebook 要執行下列input cells (綠色指令敘述) 之前必須先執行上面的cell – [path (…) ]
藍色的內容是Matlab [output cells]
1. cheby.m – 利用Chebyshev Polynomials 做為polynomial fit的基底函數. 計算normal equations的係數矩陣A與向量b Aij = Σk=0m Ti(zk) Tj(zk) , bi = Σk=0m yk Ti(zk)
顯示cheby.m的內容
type cheby.
function [A ,b]=cheby(m,n,z, y)
%compute values of (A)ij, and (b)i
%
A=zeros(n,n) ; b=zeros(n,1);
T=chebyval(m,n,z) ; %get Tj(z)
for i=1:n
s=0;
for k=1:m
s = s+y(k)*T(i,k); %compute (b)i
end ;
b(i) = s;
for j=i:n
s = 0;
for k=1:m
s = s +T(i,k)*T(j,k) ;%compute (A)ij
end;
A(i,j)=s;
A(j,i)=s;
end ; %for j
end ; %for i
function rt=chebyval(m,n,z)
T=zeros(m,n) ;
for k=1:m
T(1,k)=1;
T(2,k)=z(k) ;
for j=3:n
T(j,k)=2*z(k)*T(j-1,k)-T(j-2,k);
end
end
rt=T;
例題1: 利用cheby.m找出適合下列資料的曲線
x -1.0 -0.92 -0.84 -0.72 -0.56 -0.48 -0.36 -0.12 0.0 0.12 0.2 0.32 0.4 0.52 0.64 0.76 0.92
y 4.0 1.0 5.0 6.0 2.0 2.0 5.0 13.0 11.0 7.0 4.0 -2.0 -6.0 -8.0 -2.0 4.0 9.0
我們考慮Chebyshev Polynomials最高次為8. x = [-1.0 -0.92 -0.84 -0.72 -0.56 -0.48 -0.36 -0.12 0.0 0.12 0.2 ];
x = [ x 0.32 0.4 0.52 0.64 0.76 0.92 ] ;
y = [4.0 1.0 5.0 6.0 2.0 2.0 5.0 13.0 11.0 7.0 4.0 ] ;
y = [y -2.0 -6.0 -8.0 -2.0 4.0 9.0] ;
m = 17 ; n = 9;
[A ,b] = cheby(m, n , x, y) ;
%計算相關基底函數-Chebyshev Polynomials的係數
c= A\b ;
cond(A)
文档评论(0)