MATLAB Find the Definite Integral of Arccos Function in Matlab | Integral Problem

  • Thread starter Thread starter amykelly36
  • Start date Start date
  • Tags Tags
    Integral Matlab
AI Thread Summary
The discussion centers on finding the definite integral of the function arccos(sqrt(1+x)/10)/(sqrt(x)*x^(2/3)) over the interval [0, pi/2]. The user encountered an error while attempting to compute this integral in Matlab using symbolic integration with the int() function. The error indicated that the expression could not be converted to a double array. A suggestion was made to use numerical integration instead, recommending the quadl() function for this purpose. The user successfully implemented this solution, confirming that it resolved the issue. The conversation highlights the importance of choosing the appropriate method for integral evaluation, especially when dealing with complex functions.
amykelly36
Messages
2
Reaction score
0
I want to find the definite integral of

arccos(sqrt(1+x)/10)/(sqrt(x)*x^(2/3))​

,over [0,pi/2].

I ran the following code in Matlab,

"syms w

double(vpa(int(acos((w + 1)^(1/2)/10)/(w^(1/2)*(w + 1)^(3/2)),w,0,pi/2)))"

and got this error message,

"? Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a
double array.

If the input expression contains a symbolic variable, use the VPA function
instead.

Error in ==> sym.sym>sym.double at 936
Xstr = mupadmex('symobj::double', S.s, 0);

Error in ==> HW at 4
double(vpa(int(acos((w + 1)^(1/2)/10)/(w^(1/2)*(w + 1)^(3/2)),w,0,pi/2)))".

Anybody has met such situation like me before? I appreciate any comment!
 
Physics news on Phys.org
Hello there! I think that int() cannot be used here, since the integral will need to be evaluated numerically. Try using quadl() instead:

Code:
this = @(w)acos((w+1).^(1/2)/10)./(w.^(1/2).*(w+1).^(3/2)); % note the elementwise operations (.^, ./, .*)

quadl(this,0,pi/2)

Hopefully that helps!
 
Thanks a lot! It exactly settles the issue.
 
Back
Top