I get error when I try to plot sigmoid function

조회 수: 2 (최근 30일)
cindyawati cindyawati
cindyawati cindyawati 2023년 5월 9일
댓글: Sam Chak 2023년 5월 10일
I try to plot equation with sigmoid function, but i get error
M1(1)=0;
t(1)=0;
h=0.01;
dt=-30:h:30;
t=zeros(length(dt),1);
M1=zeros(length(dt),1);
for i= 1:length(t)
t(i+1)=t(i)+dt;
M1(i+1)=M1(i)+1./(1+exp(-dt));
end
Unable to perform assignment because the left and right sides have a different number of elements.
plot(t,M1);

채택된 답변

Star Strider
Star Strider 2023년 5월 9일
Subscript ‘dt’. However the loop is not necessary and does not appear to plot the desired function —
M1(1)=0;
t(1)=0;
h=0.01;
dt=-30:h:30;
t=zeros(length(dt),1);
M1=zeros(length(dt),1);
for i= 1:length(t)
t(i+1)=t(i)+dt(i);
M1(i+1)=M1(i)+1./(1+exp(-dt(i)));
end
plot(t,M1);
Mv = 1./(1+exp(-dt));
figure
plot(dt,Mv)
The second plot may be what you want.
.

추가 답변 (2개)

Sam Chak
Sam Chak 2023년 5월 9일
A pure sigmoidal logistic function looks like this
x = linspace(-10, 10, 20001);
S = 1./(1 + exp(-x));
figure(1)
plot(x, S), grid on
title('Sigmoidal Logistic function')
xlabel('x')
But yours looks like the ReLU-like (rectified linear unit) activation function due to the Iterative addition of M1(i). Can you clarify the type of sigmoid function that you are looking for?
M1(1) = 0;
t(1) = 0;
h = 0.01;
dt = -30:h:30;
t = zeros(length(dt), 1);
M1 = zeros(length(dt), 1);
for i= 1:length(t)
t(i+1) = t(i) + dt(i);
M1(i+1) = M1(i) + 1./(1+exp(-dt(i)));
end
figure(2)
plot(dt, M1(2:end)), grid on
title('ReLU-like function')
xlabel('dt')
  댓글 수: 3
cindyawati cindyawati
cindyawati cindyawati 2023년 5월 9일
M1 (i) have the form empty array because M1(i) must repeated by time
Sam Chak
Sam Chak 2023년 5월 10일
You're welcome, @cindyawati cindyawati. Thanks for your clarification.

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2023년 5월 9일
dt=-30:h:30;
dt is a vector
t(i+1)=t(i)+dt;
t(i) is a scalar. Add the complete vector dt and you will get a vector. But you cannot store a vector in the scalar location t(i+1)
  댓글 수: 4
cindyawati cindyawati
cindyawati cindyawati 2023년 5월 9일
t mean for time
Walter Roberson
Walter Roberson 2023년 5월 9일
Like @Star Strider showed,
t(i+1)=t(i)+dt(i);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by