根据曲线利用最小二乘法辨识出其函数?(matlab程序)
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/07 14:29:32
根据曲线利用最小二乘法辨识出其函数?(matlab程序)
曲线是这样的
如果需要这条曲线的相关数据的话,我有可以给,这条曲线就是根据一推数据画出来的.
曲线是这样的
如果需要这条曲线的相关数据的话,我有可以给,这条曲线就是根据一推数据画出来的.
大致函数形式 知道不?
曲线数据发邮箱,邮箱私信你.
再问: 已发
再答: 拟合完成。 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)
曲线数据发邮箱,邮箱私信你.
再问: 已发
再答: 拟合完成。 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)