MATLAB: How to solve “A and B must be floating-point scalars”

errornumerical integration

Hi! This is my code:
>> syms v w x real
>> j=cos(i*v*x-i*w*sin(x))
j =
cos(v*x*1i - w*sin(x)*1i)
>> J=int(j,0,pi)
J =
int(cos(v*x*1i - w*sin(x)*1i), x, 0, pi)
>> f=w^2*J
f =
w^2*int(cos(v*x*1i - w*sin(x)*1i), x, 0, pi)
>> fh=@f
fh =
function_handle with value:
@f
>> F=integral(fh,w,0,inf)
Error using integral (line 85)
A and B must be floating-point scalars.
I do not understand the meaning of the error. Can anyone help me to solve it, please?

Best Answer

In a symbolic toolbox, you need to use int() instead of integral to find a symbolic integration. Try following code
syms v w x real
j=cos(1i*v*x-1i*w*sin(x));
J=int(j,0,pi);
f=w^2*J;
F=int(f,w,0,inf);
However, the equation is too complex for MATLAB to find a closed-form solution (or such a solution might not exist).