How to run this code
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Ali Najem
am 6 Okt. 2020
Kommentiert: Ali Najem
am 10 Okt. 2020
please can anyone know how to run this code
syms w12 b12 w34 b34 a1 y0
z2 = w12*a1 + b12;
a2 = elu(z2);
z4 = w34*a2 + b34;
a4 = elu(z4);
MSE=1/2*(a4-y0).^2;
ew12=diff(MSE,w12);
eb12=diff(MSE,b12);
ew34=diff(MSE,w34);
eb34=diff(MSE,b34);
and the elu is a function which is
function fr = elu(x)
f = zeros(length(x),1);
for i = 1:length(x)
if x(i)>=0
f(i) = x(i);
else
f(i) = 0.2*(exp(x(i))-1);
end
end
fr = f;
end
any suggestions?
0 Kommentare
Akzeptierte Antwort
Utkarsh Belwal
am 9 Okt. 2020
Hello Ali,
I can see that you have declared symbolic variables and then you are passing these variables to the ‘elu’ function. In the function you are comparing a symbolic variable with a numerical value which is not possible and that’s why you are getting an error.
To do a comparison you have to substitute the symbolic variable with a value and for that you can use the Symbolic Substitution in MATLAB. Please refer to the documentation for more information.
3 Kommentare
Utkarsh Belwal
am 9 Okt. 2020
I can see that 'elu' function doesn't need symbolic variables so you can do a type conversion before passing it to the 'elu' function as follows:
a2 = elu(double(subs(z2)));
z4 = w34*a2 + b34;
a4 = elu(double(subs(z4)));
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Assumptions 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!