title: How do I symbolically integrate functions in matlab where I know the output must contain bessel functions?
body: <p>I am working with the following function:</p>
  
  <p>f(x) = a*(1+cos(3*x)) where a is constant/parameter.</p>
  
  <p>y(x) = exp(-b*f(x)) where b is another constant.</p>
  
  <p>I need to compute the definite integral integral(0,2pi)y(x)dx.</p>
  
  <p>I am trying to implement another research paper for our research group. I know the output must contain modified bessel functions of the first kind which are functions of 'a'. Matlab simply refuses to evaluate this integral. </p>
  
  <p>The following is my code(Matlab):</p>
  
  <pre><code>syms x;
  syms a;
  syms b;
  
  f_x = a*(1+cos(3*x));
  y_x = exp(-b*f_x);
  z_x = int(y_x, x, 0, 2*pi)
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>Warning: Explicit integral could not be found. 
  
  z_x =
  
  int(1/exp(a*b*(cos(3*x) + 1)), x = 0..2*pi)
  </code></pre>
  
  <p>Request your assistance in solving this! I am sure that the integral contains bessel functions like I(a), etc. at many places. Is there any pre-processing I need to do here?  I kind of need this solution urgently. I appreciate quick responses which can atleast point in the right direction.</p>