%% 清空变量
clc;
clear;
close all;
format compact ;
warning off
%% 读取数据
data = xlsread('数据集.xlsx')';
[x,y]=data_process(data,6); %步长为12
n=size(x,1);
m=round(n*0.7); %前70%训练,对最后30%进行预测
PP_train=x(1:m,:)';
PP_test=x(m+1:end,:)';
TT_train=y(1:m,:)';
TT_test=y(m+1:end,:)';
%% 信号分解
%% 设置iceemdan并运行
Nstd = 0.2; % Nstd: noise standard deviation
NR = 50; % NR: number of realizations
MaxIter = 500; % MaxIter: maximum number of sifting iterations allowed.
SNRFlag=1;
IMF_iceemdan=(iceemdan(data,Nstd,NR,MaxIter,SNRFlag));
%% iceemdan分解得到的序列个数由程序判定
%% 画图
[a,b]=size(IMF_iceemdan);
figure('Name','ICEEMDAN分解结果图','Color',[1 1 1]);
subplot(a+1,1,1);
plot(data);
ylabel('原始数据');
for i=1:size(IMF_iceemdan,1)-1 % 一共9个imf分量
subplot(a+1,1,i+1);
plot(IMF_iceemdan(i,:),'LineWidth',1,'Color',[0 0 0]);
% xlabel('时间/10min');
ylabel(['IMF' num2str(i)]);
end
subplot(a+1,1,a+1);
plot(IMF_iceemdan(a,:),'LineWidth',1,'Color',[0 0 0]);
xlabel('时间/10min');
ylabel('res');
智能算法及其模型预测