?? regression3.m
字號:
%SVC的三維回歸!!!
clc
clear all
global p1;
p1=102.111;
e=0.005;
C=9000;
t=linspace(8*pi,20*pi,501);
%畫出三維的曲線
figure(1);
subplot(221);plot3(1.5*t.*sin(t),1.5*t.*cos(t),t,'-r');title('空間三維曲線');
Box on;grid on;
%從8*pi->16*pi取一些點用于訓練SVM
z=8*pi:2:16*pi;
lenZ=length(z);
x=1.5*z.*sin(z);
y=1.5*z.*cos(z);
subplot(222);plot3(x,y,z,'or');
Box on;grid on;hold on;
X=[x;y];
X=X';
Y=z;
Y=Y';
lenY=length(Y);
[nsv, beta, bias] = svr(X,Y,'rbf',C,'eInsensitive',e);
%用于測試的數據
zz=8*pi:0.1:20*pi;
xx=1.5*zz.*sin(zz);
yy=1.5*zz.*cos(zz);
testX=[xx;yy];
testX=testX';
%testX=[ x2 x1];
tstY = svroutput(X,testX,'rbf',beta, bias)
len=length(tstY);
%畫出分類結果
%for i=1:len;
subplot(222); plot3(xx,yy,tstY,'-b',1.5*t.*sin(t),1.5*t.*cos(t),t,'-r');title('12點SVM三維曲線回歸');
%end
Box on;grid on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%從8*pi->16*pi取一些點用于訓練SVM
z=8*pi:1:16*pi;
lenZ=length(z);
x=1.5*z.*sin(z);
y=1.5*z.*cos(z);
subplot(223);plot3(x,y,z,'or');
Box on;grid on;hold on;
X=[x;y];
X=X';
Y=z;
Y=Y';
lenY=length(Y);
[nsv, beta, bias] = svr(X,Y,'rbf',C,'eInsensitive',e);
%用于測試的數據
zz=8*pi:0.1:20*pi;
xx=1.5*zz.*sin(zz);
yy=1.5*zz.*cos(zz);
testX=[xx;yy];
testX=testX';
%testX=[ x2 x1];
tstY = svroutput(X,testX,'rbf',beta, bias)
len=length(tstY);
%畫出分類結果
%for i=1:len;
subplot(223); plot3(xx,yy,tstY,'-b',1.5*t.*sin(t),1.5*t.*cos(t),t,'-r');
title('24點SVM三維曲線回歸');
%end
Box on;grid on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%從8*pi->16*pi取一些點用于訓練SVM
z=8*pi:0.5:16*pi;
lenZ=length(z);
x=1.5*z.*sin(z);
y=1.5*z.*cos(z);
subplot(224);plot3(x,y,z,'or');
Box on;grid on;hold on;
X=[x;y];
X=X';
Y=z;
Y=Y';
lenY=length(Y);
[nsv, beta, bias] = svr(X,Y,'rbf',C,'eInsensitive',e);
%用于測試的數據
zz=8*pi:0.1:20*pi;
xx=1.5*zz.*sin(zz);
yy=1.5*zz.*cos(zz);
testX=[xx;yy];
testX=testX';
%testX=[ x2 x1];
tstY = svroutput(X,testX,'rbf',beta, bias)
len=length(tstY);
%畫出分類結果
%for i=1:len;
subplot(224); plot3(xx,yy,tstY,'-b',1.5*t.*sin(t),1.5*t.*cos(t),t,'-r');title('48點SVM三維曲線回歸');
%end
Box on;grid on;
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%BP神經網絡
% clc
% %通過下面兩個參數值的改變比較結果
% n=6; %設置網絡隱單元的神經元數目
%
% %建立相應的BP網絡
% bpX=X';
% net = newff(minmax(bpX),[16,1],{'tansig','purelin'},'traingdm');
% %繪出仿真得到的曲線
% %訓練網絡
% net.trainParam.epochs = 1000;
% net.trainParam.goal = 0.001;
% bpY=Y';
% net = train(net,bpX,bpY);
% %對訓練后的網絡進行仿真
% bptestX=testX';
% t1 = sim(net,bptestX);
% %繪出訓練后的仿真結果
% figure(2);
% subplot(223); plot3(xx,yy,t1,'-b',1.5*t.*sin(t),1.5*t.*cos(t),t,'-r');
% Box on;grid on;
% % hold on
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -