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<lb,lxm,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,x00,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)=11+ex
- 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)=tanh(x)=exexex+ex
- 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)=max(0,x)={x,x00,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激活函數


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章