Input function must return 'double' or 'single' values. Found 'sym'.
이전 댓글 표시
When i use the integral command i get the following error, even though i defined all of the variables:
Error using integralCalc/finalInputChecks
Input function must return 'double' or 'single' values. Found 'sym'.
Error in integralCalc/iterateScalarValued (line 315)
finalInputChecks(x,fx);
.
.
.
Error in int (line 24)
f4 = (1/(t-s^4))*(rho_w_ad+t_w_ad*((x/(t-s))^2-0.5))*exp(-(x/(t-s))^2);
where rho_w_ad, t_w_ad:
syms t s x
alpha = 20;
h = 1;
rho_in = 0;
T_in = exp(-alpha*(s-h));
% this is the first integral
f1 = s*(rho_in*((s^2)/(t^2)-5)+T_in*((s^4)/(t^4)-(11*(s^2))/(2*(t^2))+3.5))*(exp(-s^2/t^2));
firstFunc = matlabFunction(f1);
rho_w_ad = @(t) integral(@(s) firstFunc(s,t) , 0,inf)*(1./t.^2.*(-1./2));
% this is the second integral
f2 = s*(rho_in*((s^2)/(t^2)-1)+T_in*((s^4)/(t^4)-(3*(s^2))/(2*(t^2))+1.5))*(exp(-s^2/t^2));
secondFunc = matlabFunction(f2);
t_w_ad= @(t) integral(@(s) secondFunc(s,t) , 0,inf)*(1./t.^2);
% f4 is further down
what am i doing wrong?
채택된 답변
추가 답변 (1개)
Have you tried double(yourVarHere) ?
This way you can convert your variable to the expected double and you could try if this fixes your issue. You have to convert the correct variable tho
카테고리
도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!