求助matlab最小二乘算法T=0.02;N=24;Ts=T/N;w=2*pi/T; %w为角频率,T为周期,N为采样点数,Ts为采样间隔t=0:Ts:6*T; %用来离散函数,共6个周期,6*24个点.y=20*exp(-t/0.03)+20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/21 23:55:12
求助matlab最小二乘算法T=0.02;N=24;Ts=T/N;w=2*pi/T; %w为角频率,T为周期,N为采样点数,Ts为采样间隔t=0:Ts:6*T; %用来离散函数,共6个周期,6*24个点.y=20*exp(-t/0.03)+20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)
求助matlab最小二乘算法
T=0.02;N=24;Ts=T/N;w=2*pi/T; %w为角频率,T为周期,N为采样点数,Ts为采样间隔
t=0:Ts:6*T; %用来离散函数,共6个周期,6*24个点.
y=20*exp(-t/0.03)+20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)+6*sin(5*w*t)
%y为输入函数
y1=a1*exp(-t/0.03)+a2*sin(w*t)+a3*sin(2*w*t)+a4*sin(3*w*t)+a5*sin(4*w*t)+a6*sin(5*w*t)+a7*sin(0.5*w*t)
%y1为预设模型预,他含衰减直流分量,1到5次整谐波,以及分数谐波
%如果现在我要在matlab里用最小二乘拟合算法,拟合出y1,
求助matlab最小二乘算法T=0.02;N=24;Ts=T/N;w=2*pi/T; %w为角频率,T为周期,N为采样点数,Ts为采样间隔t=0:Ts:6*T; %用来离散函数,共6个周期,6*24个点.y=20*exp(-t/0.03)+20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)
T=0.02;N=24;Ts=T/N;w=2*pi/T;%w为角频率,T为周期,N为采样点数,Ts为采样间隔
t=0:Ts:6*T;%用来离散函数,共6个周期,6*24个点.
y=20*exp(-t/0.03)+20*sin(w*t+pi/3)+4*sin(2*w*t)+10*sin(3*w*t)+2*sin(4*w*t)+6*sin(5*w*t);
%输入函数
y1=a(1)*exp(-t/0.03)+a(2)*sin(w*t)+a(3)*sin(2*w*t)+a(4)*sin(3*w*t)+a(5)*sin(4*w*t)+a(6)*sin(5*w*t)+a(7)*sin(0.5*w*t)
%y1为预设模型,他含衰减直流分量,1到5次整谐波,以及分数谐波.
%现在我要在matlab里用最小二乘拟合算法,拟合出y1.
a0=[0 0 0 0 0 0 0];%预测初值
a=lsqcurvefit(@(a,t)a(1)*exp(-t/0.03)+a(2)*sin(w*t)+a(3)*sin(2*w*t)+a(4)*sin(3*w*t)+a(5)*sin(4*w*t)+a(6)*sin(5*w*t)+a(7)*sin(0.5*w*t),a0,t,y);
%最小二乘拟合,这条程序执行后,a0就存入拟合后得到的系数值,存入a0矩阵,a0=[a(1) a(2) a(3) a(4) a(5) a(6) a(7) ]
figure
%subplot(121);
plot(t,y,t,y1,'--');
axis([0 0.12 -30 60])
xlabel('t/ms');ylabel('y(t)');
legend('输入信号','拟合信号');%设置图例
title('非线性最小二乘拟合);