在一张图中绘制多个神经网络径向基函数?

时间:2018-09-06 09:40:44

标签: matlab plot neural-network surf

我想在一张图中绘制神经网络RBF,例如,如果它们具有高斯分布。例如,我尝试了以下代码:

figure; hold on
N = 3.0;
x=linspace(-N, N);
y=x;
[X,Y]=meshgrid(x,y);
z=(1000/sqrt(2*pi).*exp(-(X.^2/2)-(Y.^2/2)));
surf(X,Y,z);
shading interp
axis tight
N = 3.0;
x=linspace(-N, N);
y=x;
[X,Y]=meshgrid(x,y);
z=(1000/sqrt(2*pi).*exp(-((X-N).^2/2)-((Y-N).^2/2)));
surf(3*X,3*Y,z);
shading interp
axis tight

但是,这并没有说明我的期望。我已经将预期结果附加到了这个问题上。我想在同一张图中绘制具有相同高斯分布但中心不同的多个相同RBF。如果您能帮助我,我将不胜感激。还没有人知道如何绘制此电子邮件中附加的另一个表示模糊基函数的图。

神经网络的基本功能:

Neural Nets basis functions

模糊基础函数:

Fuzzy basis functions

我现在尝试使用surf(X,Y,z)以及surf(X-N, Y-N, z)来尝试第二个高斯函数,但是我仍然只能看到[-N, N]极限范围内的绘图部分。我附上了结果。第一个使用surf(X, Y, z),第二个使用surf(X-N, y-N, z)

1.jpg

2.jpg

编辑2:现在,如果我添加

xlim([-6 6])
ylim([-6 6])

在执行冲浪命令后,将得到以下结果:

3.jpg

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案。解决方法如下:

figure; hold on
N = 3.0;
x=linspace(-N, N);
y=x;
[X,Y]=meshgrid(x,y);
z=(500/sqrt(2*pi).*exp(-(X.^2/2)-(Y.^2/2)));
surf(X,Y,z);
shading interp
axis tight

N = 3.0;
x1=linspace(-2*N, 0);
y1=x1;
[X1,Y1]=meshgrid(x1,y1);
z=(500/sqrt(2*pi).*exp(-((X1-N).^2/2)-((Y1-N).^2/2)));
z1=(500/sqrt(2*pi).*exp(-((X1+N).^2/2)-((Y1+N).^2/2)));

surf(X1,Y1,z);
surf(X1,Y1,z1);

xlim([-6 6])
ylim([-6 6])
shading interp
axis tigh

结果:4.jpg