📄 yangplus.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 + -