资源简介
这个是ldm比较好的资源,很有用,实测可用,可以根据自己的情况更改
代码片段和文件信息
clc;
clear all;
%x=X097_DE_time(1:6000);
t=0:0.001:1-0.001;
x=2+cos(3*t).*cos(2*t+2*t.*t)+0.2*randn(1length(t));
%x=(1+0.5*cos(9*pi*t)).*cos(200*pi*t+2*cos(10*pi*t))+3*cos(20*pi*t.*t+6*pi*t);
c = x;
N = length(x);
A = ones(1N);
PF = [];
aii = 2*A;
while(1)
si = c;
a = 1;
while(1)
h = si;
maxV = [];
minV= [];
% 找出所有的极大值和极小值点
for i = 2: N - 1
if h (i - 1) < h (i) & h (i) > h (i + 1)
maxV= [maxV i];
end
if h (i - 1) > h (i) & h (i) < h (i + 1)
minV = [minV i];
end
end
% 检查是不是余量
if (length (maxV) + length (minV)) < 2
break;
end
% 端点的处理
lenmax=length(maxV);
lenmin=length(minV);
%左端点
if h(1)>0
if(maxV(1) yleft_max=h(maxV(1));
yleft_min=-h(1);
else
yleft_max=h(1);
yleft_min=h(minV(1));
end
else
if (maxV(1) yleft_max=h(maxV(1));
yleft_min=h(1);
else
yleft_max=-h(1);
yleft_min=h(minV(1));
end
end
%右端点
if h(N)>0
if(maxV(lenmax) yright_max=h(N);
yright_min=h(minV(lenmin));
else
yright_max=h(maxV(lenmax));
yright_min=-h(N);
end
else
if(maxV(lenmax) yright_max=-h(N);
yright_min=h(minV(lenmin));
else
yright_max=h(maxV(lenmax));
yright_min=h(N);
end
end
%得到极大值点和极小值点的包络,采用的是样条差值进行拟合
maxE=spline([1 maxV N][yleft_max h(maxV) yright_max]1:N);
minE=spline([1 minV N][yleft_min h(minV) yright_min]1:N);
mm = (maxE + minE)/2;
aa = abs(maxE - minE)/2;
h = h-mm;
si = h./aa;
a = a.*aa;
ai = aa;
B = length(ai);
C = ones(1B);
bb = norm(ai-C);
if(bb < 1000)
break;
end
end
pf = a.*si;
PF = [PF; pf];
bbb = length (maxV) + length (minV);
% 检查是不是余量
if (length (maxV) + length (minV)) < 20
break;
end
c = c-pf;
end
line=size(PF1);
NN = length(PF(1:));
n = linspace(01NN);
figure(1);
subplot(line+211)plot(nx)ylabel(‘X(t)‘);
subplot(line+212)plot(nPF(1:))ylabel(‘PF_1(t)‘);
subplot(line+213)plot(nPF(2:))ylabel(‘PF_2(t)‘);
subplot(line+214)plot(nPF(3:))ylabel(‘PF_3(t)‘);
subplot(line+215)plot(nc)ylabel(‘u(t)‘);
%subplot(line+216)plot(nPF(5:))ylabel(‘PF_5(t)‘);
%subplot(line+217)plot(nc)ylabel(‘u(t)‘);
%subplot(line+118)plot(nPF(7:)*1000)ylabel(‘PF_7(t)‘);
%subplot(line+119)plot(nPF(8:)*1000)ylabel(‘PF_8(t)‘);
%subplot(line+1110)plot(nPF(9:)*1000)ylabel(‘PF_9(t)‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3034 2015-04-18 16:02 LMD1.m
----------- --------- ---------- ----- ----
3034 1
相关资源
- LMS算法及归一化LMS算法的MATLAB代码
- matlab预处理共轭梯度法
- meanshift的matlab实现及2维图演示代码
- 利用matlab对瑞利衰落信道仿真
- 均匀球体与长方体重力异常正演模拟
- 小波降噪软硬阈值改进阈值matlab代码
- matlab处理Adams仿真KC结果生产报告的程
- 图像的面积计算
- 三电平逆变器
- matlab数据预测模型算法.rar
- 惯导IMU初始姿态解算粗对准MATLAB
- emd分解matlab程序172943
- 小波神经网络MATLAB代码.zip
- 现代控制系统第十二版配套matlab
- 三周期极小曲面建模代码
- 直方图均衡化Matlab源代码
- 基本Snake活动轮廓模型
- 汽车动力模型 发动机模型matlab/simul
-
VSG控制simuli
nk仿真 - 人造地震动matlab源代码
- 坐标轮换法
- 一维搜索——外推法
- 复杂网络最短路径matlab
- 鸢尾花感知器分类.zip
- INS/GPS matlab仿真程序
- 8PSK理论误码率及误比特率
- 基于MATLAB GUI 界面设计解线性方程组
- 最小二乘影像匹配程序matlab
- 高光谱异常探测算法RXD的matlab实现
- 一维非稳态导热热传导Matlab程序
评论
共有 条评论