• 回答数

    2

  • 浏览数

    2625

  • 收藏数

    0

作者:笑多了会怀孕 发表于 2018-11-20 10:39:09
跳转到指定楼层
  • clc;clear;clf;
  • x=-1:0.05:1;
  • y=-1:0.05:1;
  • y=y';
  • for i=1: (2/0.05+1)
  • yy(:,i)=y;
  • xx(i,: )=x;
  • end
  • %% polynomial kernel
  • n = 2;
  • a2 = 1;
  • c2 = .1;
  • z_poly = (a2.*(xx.*yy) + c2)^2;
  • figure(1);
  • mesh(xx,yy,z_poly);

[color=rgb(51, 102, 153) !important]复制代码


这是代码

画出来的图如下:


这是我画出来的三维图,但如果我想得到如plot(xx,z_poly)的二维图,我该如何画呢?
分享:
回复

使用道具

该用户从未签到

新手上路

Rank: 1

积分
25
极客币
86
主题
23
帖子
36
注册时间
2018-10-22
在线时间
2 小时
性别
保密
发表于 2018-11-20 10:39:42 | 显示全部楼层
如果你想表述
"只看到原图在x-o-z平面的投影"这个意思的话
在代码最后加上
  • xlabel('X','FontSize',12); ylabel('Y','FontSize',12); zlabel('Z','FontSize',12);
  • view([0,0])

复制代码


回复

使用道具 举报

该用户从未签到

新手上路

Rank: 1

积分
25
极客币
85
主题
24
帖子
40
注册时间
2018-10-22
在线时间
3 小时
性别
保密
 楼主| 发表于 2018-11-20 10:40:29 | 显示全部楼层
莂說対罘 发表于 2018-11-20 10:39
如果你想表述
"只看到原图在x-o-z平面的投影"这个意思的话
在代码最后加上[/backc ...

您好,前辈!
我最主要的问题集中在polynomial核与sigmoid核上,
poly核:y_poly = (a0*<x,x'> + c0)^n = (a0*x^T*x' + c0)^n;
sigmoid核:y_sig = tanh(a1*<x,x'> + c1) = tanh(a1*x^T*x' + c1);
像高斯核,我们都知道,y = exp(-c*||x - x'||^2),令x'=0时我们可以画出来y关于x的变化曲线,是一个钟形。
但是像上面两个poly核与sigmoid核,我也想画出y关于x的变化曲线,但就是不知道如何来画?
非常希望您能指导我一下!

  • clc;clear;clf;
  • x = -10:0.1:10;
  • N = size(x,2);
  • %% 1 polynomial kernel
  • n = 2;
  • a2 = 1;
  • c2 = 0;
  • for i = 1:N
  •     y_poly1(i) = (a2*x(i) + c2)^n;
  • end
  • for i = 1:N
  •     y_poly2(i) = (a2*x(i) + c2)^3;
  • end
  • %% 2 sigmoid kernel
  • % for i = 1:N
  • %     y_sig2(i) = 1/(1+exp(-distance(i)));
  • % end
  • a1 =1;
  • c1 = 0; %control the center
  • for i = 1:N
  •     y_sig(i) = tanh(a1*x(i) + c1);
  • end
  • %% 3 Gaussian kernel
  • sigma1 = 2;
  • for i = 1:N
  •     y_gau(i) = exp(-norm(x(i))^2/(2*sigma1^2));
  • end
  • figure(1);
  • plot(x,y_poly1,'c','linewidth',1.5);
  • hold on
  • plot(x,y_poly2,'c--','linewidth',1.5);
  • hold on
  • plot(x,y_sig,'g','linewidth',1.5);
  • hold on
  • plot(x,y_gau,'b','linewidth',1.5);
  • hold off
  • h=legend('Polynomial,n=2','Polynomial,n=3','Sigmoid','Gaussian');
  • set(h,'FontName','Times New Roman','FontSize',16);
  • set(gca,'YLim',[-3 3]);
  • set(gca,'linewidth',1.5,'FontName','Times New Roman','FontSize',20);
  • xlabel('x','FontName','Times New Roman','FontSize',20);
  • ylabel('','FontName','Times New Roman','FontSize',16);

[color=rgb(51, 102, 153) !important]复制代码


回复

使用道具 举报

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录
关于作者
笑多了会怀孕

用户组:新手上路

  • 主题

    24

  • 帖子

    40

  • 关注者

    1