matlab 拟合函数 调用,matlab拟合函数
曲線擬合的例題
1、 關(guān)于y=f(x)有一些觀測數(shù)據(jù)
x=-2*pi:0.1*pi:2*pi,時
相應(yīng)的函數(shù)值為
y =[ 0.0000 0.8726 1.3803 1.3876 1.0490 0.6667 0.4612
0.4365 0.4293 0.2848 -0.0000 -0.2848 -0.4293 -0.4365
-0.4612 -0.6667 -1.0490 -1.3876 -1.3803 -0.8726 0
0.8726 1.3803 1.3876 1.0490 0.6667 0.4612 0.4365
0.4293 0.2848 0.0000 -0.2848 -0.4293 -0.4365 -0.4612
-0.6667 -1.0490 -1.3876 -1.3803 -0.8726 -0.0000 ];
2、 通過plot(x,y)繪圖
x = -2*pi:0.1*pi:2*pi;
y = [0.0000 0.8726 1.3803 1.3876 1.0490 0.6667 0.4612 ...
0.4365 0.4293 0.2848 -0.0000 -0.2848 -0.4293 -0.4365 ...
-0.4612 -0.6667 -1.0490 -1.3876 -1.3803 -0.8726 0 ...
0.8726 1.3803 1.3876 1.0490 0.6667 0.4612 0.4365 ...
0.4293 0.2848 0.0000 -0.2848 -0.4293 -0.4365 -0.4612 ...
-0.6667 -1.0490 -1.3876 -1.3803 -0.8726 -0.0000];
plot(x,y,'+')
hold on
plot(x,y,'g')
3、觀察圖形,發(fā)現(xiàn)很像sin,cos那樣的周期振蕩函數(shù)
嘗試選擇擬合函數(shù) f(x)=c1*sin(x)+c2*sin(2*x)+c3*sin(3*x)
希望選擇合適的c1,c2,c3,s.t.δ=∑(f(xi)-yi)^2達(dá)到最小.
注意,這里的x,y 均是已知數(shù)構(gòu)成的向量;c1,c2,c3才是待定的.
即 δ=∑(f(xi)-yi)^2=g(c1,c2,c3).
擬合問題轉(zhuǎn)化為 求min{δ=g(c1,c2,c3)}
4、因?yàn)?δ=g(c1,c2,c3)是c1,c2,c3的元函數(shù),所以可通過求偏導(dǎo)數(shù)
δ'c1,δ'c2,δ'c3,并令
δ'c1=0
δ'c2=0
δ'c3=0,聯(lián)立解出c1,c2,c3.
5、使用Matlab求解
第一步:建立m文件
function p=stu(c,x)
p=c(1)*sin(x)+c(2)*sin(2*x)+c(3)*sin(3*x);
第二步:在工作區(qū)輸入,c1,c2,c3的估計(jì)值,如
c=[1 1 1]
第三步:調(diào)用
p=lsqcurvefit('stu',c,x,y)
第四步:繪圖檢驗(yàn)擬合函數(shù)與觀測數(shù)據(jù)的接近程度
plot(x,y,'r+',x,p(1)*sin(x)+p(2)*sin(2*x)+p(3)*sin(3*x),'g')
作業(yè)幫用戶
2016-12-06
舉報(bào)
總結(jié)
以上是生活随笔為你收集整理的matlab 拟合函数 调用,matlab拟合函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server不允许保存更改的解决
- 下一篇: MATLAB规划和LINGO规划,[数学