MatLab绘制分段函数&激活函数

1 MatLab绘制二维图像

1.1 语法

  • 函数
    plot(x,y,’r’,’lineWidth’,1)%‘r’曲线颜色,‘lineWidth’曲线宽度
  • 标题
    title(‘图片描述’)
  • 坐标轴标签
    xlabel(‘x轴’)
    ylabel(‘y轴’)
  • 坐标轴定义域
    set(gca,’XLim’,[1 100])% x [ 1 , 100 ]
    set(gca,’Ylim’,[1,100])% y [ 1 , 100 ]

1.2 分段函数

  • 分段函数
    f ( x ) = { a , x < l b , l x m , c , x > m
- MatLab实现
%l>-10,n<10
x=-10:1:10;
y=a.*(x<l)+b.*(x>=l&x<=m)+c.*(x>m);
plot(x,y,'r','lineWidth',1)
set(gca,'YLim',[-5 5])
title('分段函数绘制测试')
legend('曲线名称')
grid on

2 激活函数的MatLab实现

2.1 阈值型激活函数

f ( x ) = { 1 , x 0 0 , x < 0

- MatLab代码
clc;clear;%清除历史数据
figure(1)%打开Figure1绘图框
x = -10:0.1:10;%x定义域[-10,10],步长0.1
y=1.*(x>=0)+0.*(x<0);%分段函数
plot(x,y,'r','lineWidth',1);%开始绘图
set(gca,'YLim',[-0.5 1.5])%设置Y轴刻度范围
%set(gca,'YTickLabel',[-0.5:0.2:1.5])%设置Y轴显示精度
xlabel('x轴')%x轴标签
ylabel('y轴')%y轴标签
title('阈值型激活函数')%设置图标题
legend('y=1.*(x>=0)+0.*(x<0)')%标注曲线名称
grid on%开启网格

阈值

图2.1 阈值型激活函数

2.2 非线性激活函数(sigmod)

f ( x ) = 1 1 + e x

- MatLab代码
figure(2)
x2=-10:0.1:10;
y2=1./(1+exp(-x2));
plot(x2,y2,'r','lineWidth',1);
title('sigmod激活函数')
legend('y=1/1+e^{-x}')
xlabel('x轴')
ylabel('y轴')
grid on

sigmod

图2.2 非线性激活函数

2.3 双曲正切激活函数

f ( x ) = t a n h ( x ) = e x e x e x + e x

- MatLab代码
figure(3)
x3=-10:0.1:10;
y3=(exp(x3)-exp(-x3))./(exp(x3)+exp(-x3));
plot(x3,y3,'r','lineWidth',1)
title('双曲正切激活函数')
legend('y=(e^x-e^{-x})/(e^x+e^{-x})')
xlabel('x轴')
ylabel('y轴')
grid on

tanh

图2.3 双正切激活函数

2.4 Relu(Rectified Linear Units)激活函数

f ( x ) = m a x ( 0 , x ) = { x , x 0 0 , x < 0

- MabLab代码
figure(4)
x4=-10:0.1:10;
y4=x.*(x>=0)+0.*(x<0);
plot(x4,y4,'r','lineWidth',1);
title('Relu激活函数')
legend('y=x.*(x>=0)+0.*(x<0)')
xlabel('x轴')
ylabel('y轴')
grid on

这里写图片描述

图2.4 Relu激活函数


猜你喜欢

转载自blog.csdn.net/Xin_101/article/details/81844355