📄 yang.asv
字号:
%function [ output_args ] = Untitled1( input_args )%UNTITLED1 Summary of this function goes here% Detailed explanation goes here%H1=xlsread('tading.xls',1,'A1:H123');H1=xlsread('test.xls',1,'A1:J64');% [b,a]= butter(5,0.5);% H1=filtfilt(b,a,H); data=H1; data=(data-ones(size(data,1),1)*min(data))./(ones(size(data,1),1)*(max(data)-min(data))); H1=data; A1=H1(1:40,1:8); B1=H1(1:40,9); C1=H1(41:60,1:8); D1=H1(41:60,9);% A1=H1(1:80,1:7);% B1=H1(1:80,8);% C1=H1(81:120,1:7);% D1=H1(81:120,8); % data=A;% data1=A;% data=(data-ones(size(data,1),1)*min(data))./(ones(size(data,1),1)*(max(data)-min(data)));% A1=data ;% % % MOData=sqrt(sum(A.^2));% % A1=A./MOData(ones(n,1),:);% data2=B;% data=B;% data=(data-ones(size(data,1),1)*min(data))./(ones(size(data,1),1)*(max(data)-min(data)));% B1=data ;% % data=C;% data=(data-ones(size(data,1),1)*min(data1))./(ones(size(data,1),1)*(max(data1)-min(data1)));% C1=data;% % MOData=sqrt(sum(C.^2));% % C1=C./MOData(ones(p,1),:);% % data=D;% data=(data-ones(size(data,1),1)*min(data2))./(ones(size(data,1),1)*(max(data2)-min(data2)));% D1=data ; % max_ev =14; %选择主元个数 tading max_ev =8; %选择主元个数 rbf_var = 1.4; %髙斯函数的参数 cov_size=40; %样本个数 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=40; 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=20; 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.09 -c 30 -p 0.01'); [y, accuracy] = svmpredict(D1, C2, model); X=abs(D1-y); error=sqrt(sum(X.^2)/test_num)% Y=ones(size(X,1),1)*mean(X); %error=sqrt(sum((X-Y).^2)/test_num) T=[1:1:20]'; V=[1,20,-0.5,1.5]; plot(T,D1,'r--','LineWidth',2 ); axis(V); hold on plot(T,y,'b','linewidth',2); axis(V);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -