代码已经详细注释,可以自行修改参数,代码如下:
figure;
% 输入层设置为6层
x1 = ones(1, 6);
% 隐藏层设置为10层
x2 = 2 * ones(1, 10);
% 输出层设置为8层
x3 = 3 * ones(1, 8);
%产生长度6的数组
y1 = 4:9;
%产生10的数组
y2 = 1:10;
%产生长度8的数组
y3 = 2.5:9.5;
%遍历输入层6
for i = 1:6
%遍历隐藏层10
for j = 1:10
plot([x1(i), x2(j)], [y1(i), y2(j)], 'k');
hold on
end
end
%遍历隐藏层10
for i = 1:10
%遍历输出层8
for j = 1:8
plot([x2(i), x3(j)], [y2(i), y3(j)], 'k');
end
end
scatter(x1, y1, 200, 'k', 'MarkerFaceColor', 'r');
scatter(x2, y2, 200, 'k', 'MarkerFaceColor', 'y');
scatter(x3, y3, 200, 'k', 'MarkerFaceColor', 'k');
plot([1.5, 1.5], [0, 11], 'k--');
plot([2.5, 2.5], [0, 11], 'k--');
hold off
axis off
text(1.5, 11.75, '输入层');
text(2, 11.75, '隐藏层');
text(2.5, 11.75, '输出层');
效果如下: