Effacer les filtres
Effacer les filtres

I get error when I try to plot sigmoid function

5 vues (au cours des 30 derniers jours)
cindyawati cindyawati
cindyawati cindyawati le 9 Mai 2023
Commenté : Sam Chak le 10 Mai 2023
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);

Réponse acceptée

Star Strider
Star Strider le 9 Mai 2023
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.
.

Plus de réponses (2)

Sam Chak
Sam Chak le 9 Mai 2023
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 commentaires
cindyawati cindyawati
cindyawati cindyawati le 9 Mai 2023
M1 (i) have the form empty array because M1(i) must repeated by time
Sam Chak
Sam Chak le 10 Mai 2023
You're welcome, @cindyawati cindyawati. Thanks for your clarification.

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 9 Mai 2023
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 commentaires
cindyawati cindyawati
cindyawati cindyawati le 9 Mai 2023
t mean for time
Walter Roberson
Walter Roberson le 9 Mai 2023
Like @Star Strider showed,
t(i+1)=t(i)+dt(i);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by