根据曲线利用最小二乘法辨识出其函数?(matlab程序)

问题描述:

根据曲线利用最小二乘法辨识出其函数?(matlab程序)
曲线是这样的

如果需要这条曲线的相关数据的话,我有可以给,这条曲线就是根据一推数据画出来的.
1个回答 分类:综合 2014-11-02

问题解答:

我来补答
大致函数形式 知道不?
曲线数据发邮箱,邮箱私信你.
再问: 已发
再答: 拟合完成。 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)
 
 
展开全文阅读
剩余:2000