How to run this code
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Utkarsh Belwal
2020-10-9
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 个评论
Utkarsh Belwal
2020-10-9
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)));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Assumptions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!