📄 untitled3_change.m
字号:
clear;
clc;
%p0=[-10:0.1:10]; %输入数据
%p0=20*rand(1,100)-10;
[x1,x2]=meshgrid(-5:0.5:5,-1:0.3:5);
%x1=[-5:0.05:5];
%x2=[-1:0.03:5];
o=0.1; %噪声正态分布的标准差
lC=size(x1,2);
z=o*randn(1,lC); %输出时伴随的噪声
for i=1:lC;
for j=1:lC;
t0(lC*i-j+1)=sin(sqrt(x1(i,j)*x1(i,j)+x2(i,j)*x2(i,j)))...
/sqrt(x1(i,j)*x1(i,j)+x2(i,j)*x2(i,j))+z(i);
X1(lC*i-j+1)=x1(i,j);
X2(lC*i-j+1)=x2(i,j);
end
end
%LC=75; %学习样本数
%P=p0(1:LC);
%T=t0(1:LC);
X=[X1;X2]'; %训练用输入数据
Y=t0'; %训练用输出数据
ker='poly';
C=1.4972;
loss='einsensitive';
e=0.05;
global p1;
p1=2;
[nsv,beta,bias]=svr(X,Y,ker,C,loss,e)
%x=[-10:0.1:10];
%y=sin(sqrt(x1.*x1+x2.*x2))./sqrt(x1.*x1+x2.*x2);
[t1,t2]=meshgrid(-5:0.2:5);
m=size(t1,2);
for i=1:m;
for j=1:m;
T1(m*i-j+1)=t1(i,j);
T2(m*i-j+1)=t2(i,j);
end
end
tstX=[T1;T2]';
%targetY=y';
tstY=svroutput(X,tstX,ker,beta,bias);
u=tstY';
for i=1:m;
for j=1:m;
y(i,j)=u(m*i-j+1);
end
end
%err=svrerror(X,tstX,targetY,ker,beta,bias,loss,e) %计算预测误差
figure;
%[u1,u2]=meshgrid(-5:0.2:5);
%y=sin(sqrt(u1.*u1+u2.*u2))./sqrt(u1.*u1+u2.*u2);
mesh(t1,t2,y)
%hold on;
%svrplot(X,Y,ker,beta,bias,e)
%hold off;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -