matlab 拟合函数 调用,matlab拟合函数

matlab 拟合函数 调用,matlab拟合函数曲线拟合的例题1、关于y=f(x)有一些观测数据x=-2*pi:0.1*pi:2*pi,时相应的函数值为y=[0.00000.87261.38031.38761.04900.66670.46120.43650.42930.2848-0.0000-0.2848-0.4293-0.4365-0.4612-0.6667-1.0490-1.3876-1.3803-0…

曲线拟合的例题

1、 关于y=f(x)有一些观测数据

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 ];

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、观察图形,发现很像sin,cos那样的周期振荡函数

尝试选择拟合函数 f(x)=c1*sin(x)+c2*sin(2*x)+c3*sin(3*x)

希望选择合适的c1,c2,c3,s.t.δ=∑(f(xi)-yi)^2达到最小.

注意,这里的x,y 均是已知数构成的向量;c1,c2,c3才是待定的.

即 δ=∑(f(xi)-yi)^2=g(c1,c2,c3).

拟合问题转化为 求min{δ=g(c1,c2,c3)}

4、因为 δ=g(c1,c2,c3)是c1,c2,c3的元函数,所以可通过求偏导数

δ’c1,δ’c2,δ’c3,并令

δ’c1=0

δ’c2=0

δ’c3=0,联立解出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);

第二步:在工作区输入,c1,c2,c3的估计值,如

c=[1 1 1]

第三步:调用

p=lsqcurvefit(‘stu’,c,x,y)

第四步:绘图检验拟合函数与观测数据的接近程度

plot(x,y,’r+’,x,p(1)*sin(x)+p(2)*sin(2*x)+p(3)*sin(3*x),’g’)

作业帮用户

2016-12-06

举报

6c0a0adef10d1043fa4f41a7897345ed.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34153.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注