|
我做了一下,能觉察到,但效果不明显。我也没有办法了,最好让你师兄演示一下
看看这样行不行?
function xdot=danziyoudukuangjia(t,x)
F=20*sin(1.47*t);
M=31.2;
zeta=0.01;
if(t<30)
K=67.51;
else
K=67.51*0.95;
end
%K=67.51;
C=2*zeta*sqrt(K*M);
xdot=[x(2);(1/M)*(F-C*x(2)-K*x(1))];
end
==================================
执行文件
%clc;clear all;
close all;
t0=0;
te=60;
dt=0.005;%采样间隔
t=t0:dt:te;
x0=[0,0]';
[t,x]=ode45('danziyoudukuangjia',t,x0);
d=x(:,1);
v=x(:,2);
s1=(diff(v(1:end-1))+diff(v(2:end)))/2; %中心差分法
s1=[diff(v(1:2));s1;diff(v(end-1:end))]; %少的两个点用前向和后向差分法补齐
s1=s1/dt; %近似为导数
%T=12001;
%
%x2=zeros(1,T);
%x2(6001)=1;
s=s1+0.01*randn(size(s1));%+x2;
%subplot(311);plot(t,s);
%AXIS([0 60 -10 10]);%单层框架加速度信号输出
%下面进行离散的单尺度小波变换并生成,各尺度上的信号
[c,l]=wavedec(s,5,'bior6.8');%对第一信号进行3尺度一维离散小波分解,采用墨西哥小帽函数
%提取结构的低频和高频信号
ca3=appcoef(c,l,'bior6.8',5);%提取第三尺度系数的低频
[cd1,cd2,cd3,cd4,cd5]=detcoef(c,l,[1,2,3,4,5]);%提取第一、二、三尺度系数的高频
%重构信号的低频和高频部分
a3=wrcoef('a',c,l,'bior6.8',3);
d1=wrcoef('d',c,l,'bior6.8',1);
d2=wrcoef('d',c,l,'bior6.8',2);
d3=wrcoef('d',c,l,'bior6.8',3);
d4=wrcoef('d',c,l,'bior6.8',4);
d5=wrcoef('d',c,l,'bior6.8',5);
%显示多尺度一维信号的分解结果
subplot(611);plot(t,a3);title('信号的低频细节部分');%AXIS([0 60 -5 5]);
subplot(612);plot(t,d1);title('Detailsd1');%AXIS([0 60 -5 5]);
subplot(613);plot(t,d2);title('Detailsd2');%AXIS([0 60 -5 5]);
subplot(614);plot(t,d3);title('Detailsd3');%AXIS([0 60 -5 5]);
subplot(615);plot(t,d4);title('Detailsd4');%AXIS([0 60 -5 5]);
subplot(616);plot(t,d5);title('Detailsd5');%AXIS([0 60 -5 5]); |
评分
-
1
查看全部评分
-
|