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!