Unable to convert expression into double array
조회 수: 7 (최근 30일)
이전 댓글 표시
When I run my code, I keep getting this error: "The following error occurred converting from sym to double: Unable to convert expression into double array."
r=50;
d=50;
a=12.61;
syms x
syms y
J=(besselj(0,x*y*a/d))*((1-y^2)^0.5)*y;
B1=int(J, y, [0 1]);
E1=zeros(1,301);
t=0:0.1:30;
for i=1:301
B=B1*besselj(0,x*r/d)*((x*tanh(x))^0.5)*sin((((9.81/d*t(i)^2)*x)*tanh(x))^0.5)*x;
E1(i)=vpaintegral(B, x, [0 2000])
end
댓글 수: 0
채택된 답변
Areej Varamban Kallan
2019년 2월 7일
편집: Areej Varamban Kallan
2019년 2월 7일
Hi Tommaso,
The variable E1 is defined to be a 'double' array outside the foor loop. The variable B is of symbolic type. In the for loop you are attempting to assign each element of a 'double' array to a symbolic object, which is not correct. Redefine E1 as:
E1 = sym(zeros(1,301));
추가 답변 (1개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!