⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yangplus.m

📁 粒子群算法
💻 M
字号:
clear% H1=xlsread('tading.xls',1,'A1:H123');H1=xlsread('456.xls',1,'A1:E177');len=size(H1,1);H2=H1(101:177,5);delta=(max(H2)-min(H2));  %反归一delta1=min(H2);   data=H1; data=(data-ones(size(data,1),1)*min(data))./(ones(size(data,1),1)*(max(data)-min(data)));  H1=data-ones(size(data,1),1)*mean(data);    A1=H1(1:100,1:4); B1=H1(1:100,5); C1=H1(101:177,1:4); D1=H1(101:177,5);                 max_ev =8;  %选择主元个数      rbf_var = 1.5;  %髙斯函数的参数      cov_size=size(A1,1);     %样本个数      for i=1:cov_size,    %得到K          for j=i:cov_size,              K(i,j) = exp(-norm(A1(i,:)-A1(j,:))^2/rbf_var);              K(j,i) = K(i,j);          end      end      unit = ones(cov_size, cov_size)/cov_size;      % centering in feature space!      K_n = K - unit*K - K*unit + unit*K*unit;      [evecs,evals] = eig(K_n);     % A2=evecs;      evals = real(diag(evals));      for i=1:cov_size,          evecs(:,i) = evecs(:,i)/(sqrt(evals(i)));         end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      test_num=size(A1,1);      unit_test = ones(test_num,cov_size)/cov_size;      K_test = zeros(test_num,cov_size);      for i=1:test_num,          for j=1:cov_size,              K_test(i,j) = exp(-norm(A1(i,:)-A1(j,:))^2/rbf_var);          end      end      K_test_n = K_test - unit_test*K - K_test*unit + unit_test*K*unit;      test_features = zeros(test_num, max_ev);      test_features = K_test_n * evecs(:,1:max_ev);      A2=test_features;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      test_num=size(C1,1);      unit_test = ones(test_num,cov_size)/cov_size;      K_test = zeros(test_num,cov_size);      for i=1:test_num,          for j=1:cov_size,              K_test(i,j) = exp(-norm(C1(i,:)-A1(j,:))^2/rbf_var);          end      end      K_test_n = K_test - unit_test*K - K_test*unit + unit_test*K*unit;      test_features = zeros(test_num, max_ev);      test_features = K_test_n * evecs(:,1:max_ev);      C2=test_features;      model = svmtrain(B1, A2, '-s 3 -t 2 -g 0.1 -c 50 -p 0.01');      [y, accuracy] = svmpredict(D1, C2, model);                   Y=y;          Y=Y+mean(data(:,5));%  D=data(:,9); Y= Y*delta+delta1;%  D= D*delta+delta1; X=abs(H2-Y)./H2;%  X=abs(D-Y)./D;meanerror=mean(X)maxerror=max(X)stderror=std(X) plot(H2,'r--','LineWidth',2 );%  axis(V); hold on plot(Y,'b','linewidth',2);%  axis(V);            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -