Exponential approximation for vector input
Mostrar comentarios más antiguos
I was double checking the behaviour of a sigmoid function used in my Simulink model and I noticed that I was getting incorrect approximations when I made the computation for a vector of values
vect = [-5.0000 -5.0000 -5.0000 1.0000 0.9000 0.8000 0.7000 -5.0000 -5.0000];
y_vect = 1/(1+exp(-2*(vect'-1)));
% Value calculated using the vector
y_vect(4)
% Value calculated alone
y_val = 1/(1+exp(-2*(vect(4)-1)))
This approximation in my case causes great confussion due to the magnitude of the quantity expected.
Is there any way to solve this?
Respuesta aceptada
Más respuestas (1)
vect = [-5.0000 -5.0000 -5.0000 1.0000 0.9000 0.8000 0.7000 -5.0000 -5.0000];
Using / (matrix right division), as you have it now:
y_vect = 1/(1+exp(-2*(vect'-1)));
disp(y_vect)
Using ./ (element-wise right division):
y_vect = 1./(1+exp(-2*(vect'-1)));
disp(y_vect)
Categorías
Más información sobre Assembly en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!