How to solve "A and B must be floating-point scalars"?
1 view (last 30 days)
Show older comments
Silvio Sapienza
on 1 Jul 2020
Commented: Walter Roberson
on 2 Jul 2020
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?
0 Comments
Accepted Answer
Ameer Hamza
on 2 Jul 2020
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).
1 Comment
Walter Roberson
on 2 Jul 2020
There is an expression for the inner integral; it can be expressed in terms of the AngerJ https://www.maplesoft.com/support/help/maple/view.aspx?path=AngerJ function, or rather longer hypergeometric or MeijerG forms.
However, I do not find a closed form expression for the overall integral.
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!