Exponential approximation for vector input
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Eduardo
am 31 Jan. 2023
Kommentiert: Eduardo
am 1 Feb. 2023
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?
0 Kommentare
Akzeptierte Antwort
Sulaymon Eshkabilov
am 31 Jan. 2023
You have overlooked one dot. Here is the corrected commands:
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)))
Weitere Antworten (1)
Voss
am 31 Jan. 2023
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)
0 Kommentare
Siehe auch
Kategorien
Mehr zu ANOVA finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!