首页 > 编程知识 正文

拟合函数怎么做,matlab插值函数

时间:2023-05-04 21:05:18 阅读:40089 作者:580

曲线拟合例题

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

x=-2*pi:0.1*pi:2*pi,则

对应的函数值为

y=[ 0.0000.87261.38031.38761.0490.6667.4612 ]

0.43650.42930.2848-0.0000-0.2848-0.4293-0.4365

- 0.4612-0.6667-1.0490-1.3876-1.3803-0.8726

0.87261.38031.38761.0490.66670.46120.4365

0.42930.28480.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.87261.38031.38761.0490.6667.4612 ] .

0.43650.42930.2848-0.0000-0.2848-0.4293-0.4365 .

- 0.4612-0.6667-1.0490-1.3876-1.3803-0.8726 .

0.87261.38031.38761.0490.66670.46120.4365 .

0.42930.28480.0000-0.2848-0.4293-0.4365-0.4612 .

- 0.6667-1.0490-1.3876-1.3803-0.8726-0.0000;

plot(x,y,' ')

霍尔德on

打印(x,y,' g ' ) ) )。

3、观察图形,发现了类似sin、cos的周期振动函数

请尝试选择拟合函数f(x )=c1*sin(x ) 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求解

步骤1 :创建m文件

函数p=stu (c,x ) )。

p=c(1) sin ) x ) c )2) sin )2*x ) c )3) sin )3*x );

步骤2 :在工作区中,输入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

通报

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。