I get error when I try to plot sigmoid function
Afficher commentaires plus anciens
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
plot(t,M1);
Réponse acceptée
Plus de réponses (2)
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
le 9 Mai 2023
cindyawati cindyawati
le 9 Mai 2023
Sam Chak
le 10 Mai 2023
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
It is really strange to have time go backwards:
h=0.01;
dt=-30:h:30;
t = cumsum(dt);
plot(t)
I suspect you want t itself to be -30 to +30 -- that you want
t(1) = -30;
dt = h;
for i= 1:length(t)
t(i+1)=t(i)+dt;
end
plot(t)
cindyawati cindyawati
le 9 Mai 2023
Modifié(e) : cindyawati cindyawati
le 9 Mai 2023
cindyawati cindyawati
le 9 Mai 2023
Walter Roberson
le 9 Mai 2023
t(i+1)=t(i)+dt(i);
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





