我现在的程序运行的和你的结果运行的不一样,我的根本看不到你所体现出来的损伤指示信号,所以我想看看你的所有的m文件和执行文件,无论你用的我的也好,还是怎么样,我想对照一下,我的图形无法看到这样的损伤,我不知道是怎么回事,如果程序一样的话,我修改了你的数量级,但结果还是不一样,再就是我的f是20*sin(25*+30)不是100*t,所以我想看看这到底是怎么回事,请您贴出你的所有的程序编码,十分感谢,如果您不相信,我想让你运行一下我的程序,我的结果还是发不上来,不知道怎么回事,您能直接告诉我吗,到底怎么弄才能把自己的结果像您那样贴出来,红色是我和您不一样的地方,这次务必,请您把您的程序都贴出来让我比较一下:
function xdot=danziyoudukuangjia1(t,x)
F=20*sin(25*t+30);
M=31.2;
zeta=0.01;
if(t<5)
K=67.51*10^5;
else
K=67.51*10^5*0.95;
end
%K=67.51;
% C=2*zeta*sqrt(K*M);
C=1.4*10^3;
xdot=[x(2);(1/M)*(F-C*x(2)-K*x(1))];
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
clc;clear all;
close all;
t0=0;
te=10;
dt=0.005;%采样间隔
t=t0:dt:te;
x0=[0,0]';
[t,x]=ode45('danziyoudukuangjia1',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]);
[ 本帖最后由 zhlong 于 2007-7-9 10:01 编辑 ] |