根据曲线利用最小二乘法辨识出其函数?(matlab程序)
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/09 08:09:44
根据曲线利用最小二乘法辨识出其函数?(matlab程序)
曲线是这样的
![](http://img.wesiedu.com/upload/6/81/681ecbd8e0eff86c0b288d2135de2967.jpg)
如果需要这条曲线的相关数据的话,我有可以给,这条曲线就是根据一推数据画出来的.
曲线是这样的
![](http://img.wesiedu.com/upload/6/81/681ecbd8e0eff86c0b288d2135de2967.jpg)
如果需要这条曲线的相关数据的话,我有可以给,这条曲线就是根据一推数据画出来的.
![根据曲线利用最小二乘法辨识出其函数?(matlab程序)](/uploads/image/z/3315823-7-3.jpg?t=%E6%A0%B9%E6%8D%AE%E6%9B%B2%E7%BA%BF%E5%88%A9%E7%94%A8%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95%E8%BE%A8%E8%AF%86%E5%87%BA%E5%85%B6%E5%87%BD%E6%95%B0%3F%EF%BC%88matlab%E7%A8%8B%E5%BA%8F%EF%BC%89)
大致函数形式 知道不?
曲线数据发邮箱,邮箱私信你.
再问: 已发
再答: 拟合完成。
clear ,clc
data=load('case.txt');%将数据放于工作空间,改名为case.txtx=data(:,1);
y=data(:,3);
fx=@(a,x)a(4)*exp(-a(1)*x).*sin(a(2)*x+a(3))+a(5);%拟合目标函数a0=[-1 1 3 0.1 4];%初始点
[ax,resnorm] = lsqcurvefit(fx,a0,x,y);%最小二乘法拟合
figure
plot(x,y,x,fx(ax,x),'r')
legend('原数据','拟合') 结果: ax = -0.1320 3.4604 -43.4173 -0.0390 4.0066即:f(x)=4.00658 - 0.0390409*exp(0.132015*x)*sin(3.4604*x - 43.4173)
曲线数据发邮箱,邮箱私信你.
再问: 已发
再答: 拟合完成。
![](http://img.wesiedu.com/upload/2/aa/2aab82554a7288d843ee956978d5ae2d.jpg)
data=load('case.txt');%将数据放于工作空间,改名为case.txtx=data(:,1);
y=data(:,3);
fx=@(a,x)a(4)*exp(-a(1)*x).*sin(a(2)*x+a(3))+a(5);%拟合目标函数a0=[-1 1 3 0.1 4];%初始点
[ax,resnorm] = lsqcurvefit(fx,a0,x,y);%最小二乘法拟合
figure
plot(x,y,x,fx(ax,x),'r')
legend('原数据','拟合') 结果: ax = -0.1320 3.4604 -43.4173 -0.0390 4.0066即:f(x)=4.00658 - 0.0390409*exp(0.132015*x)*sin(3.4604*x - 43.4173)