Group Abstract Group Abstract

Message Boards Message Boards

0
|
4K Views
|
9 Replies
|
4 Total Likes
View groups...
Share
Share this post:

Integral of an exponent function

Attachments:
9 Replies

There is something wrong with Matlab's value of expint. Its definition is an integral of a real function (principal value) on an interval. How can it be complex?

POSTED BY: Gianluca Gorni
POSTED BY: Gianluca Gorni

ExpIntegralEi is a special function. It is as "plain" as you can get, I am afraid. What is your purpose in this calculation?

POSTED BY: Gianluca Gorni

Thank you for your answer, Bill. It works for a single variable, but the issue reappears after I do the same for more variables. In any case, the other answer worked. Thank You!

This Works perfectly @Gianluca, thanks a lot. But the result is still in terms of 'ExpIntegralEi'. Is there a way I can extract the complex function in terms of the variables c1,c2,c3,c4 in a plain form. I tried Series expansion but the function seems to be too complicated.

-((4. (1. E^((1. c1 c3 - 1. c2 c4)/(1. c1 - 1. c2 + 1. c3 - 1. c4))
       ExpIntegralEi[
       0. + 0.5 c2 - 0.5 c3 + (
        0.5 c1 c2 - 0.5 c2^2 - 0.5 c1 c3 + 0.5 c3^2 + 0.5 c2 c4 - 
         0.5 c3 c4)/(c1 - 1. c2 + c3 - 1. c4)] - 
     1. E^((1. c1 c3 - 1. c2 c4)/(c1 - 1. c2 + c3 - 1. c4))
       ExpIntegralEi[
       0. + 0.5 c1 - 0.5 c4 + (
        0.5 c1^2 - 0.5 c1 c2 - 0.5 c1 c3 + 0.5 c2 c4 + 0.5 c3 c4 - 
         0.5 c4^2)/(c1 - 1. c2 + c3 - 1. c4)]))/(
  c1 - 1. c2 + c3 - 1. c4)) + (
 4. (1. E^((1. c1 c3 - 1. c2 c4)/(1. c1 - 1. c2 + 1. c3 - 1. c4))
      ExpIntegralEi[
      0. - 0.5 c2 + 0.5 c3 + (
       0.5 c1 c2 - 0.5 c2^2 - 0.5 c1 c3 + 0.5 c3^2 + 0.5 c2 c4 - 
        0.5 c3 c4)/(c1 - 1. c2 + c3 - 1. c4)] - 
    1. E^((1. c1 c3 - 1. c2 c4)/(c1 - 1. c2 + c3 - 1. c4))
      ExpIntegralEi[
      0. - 0.5 c1 + 0.5 c4 + (
       0.5 c1^2 - 0.5 c1 c2 - 0.5 c1 c3 + 0.5 c2 c4 + 0.5 c3 c4 - 
        0.5 c4^2)/(c1 - 1. c2 + c3 - 1. c4)]))/(
 c1 - 1. c2 + c3 - 1. c4)

Single order approximation

approxintfC = 
     Series[intfC[c1, c2, c3, c4], {c1, 0, 1}, {c2, 0, 1}, {c3, 0, 
       1}, {c4, 0, 1}]

I would try this way:

c = {c1, c2, c3, c4};
sf = 1/4*{(1 - y1)*(1 - y2),
    (1 + y1)*(1 - y2),
    (1 + y1)*(1 + y2),
    (1 - y1)*(1 + y2)};
cGP = sf . c;
fC = Exp[cGP];
firstIteratedIntegral = Integrate[fC, {y1, -1, 1}];
primitiveOfFirstIteratedIntegral[y2_] = 
  Integrate[firstIteratedIntegral, y2];
doubleIntegral[c1_, c2_, c3_, c4_] = 
 primitiveOfFirstIteratedIntegral[1] - 
  primitiveOfFirstIteratedIntegral[-1]
Manipulate[Quiet@Plot3D[doubleIntegral[c1, c2, c3, c4],
   {c1, -2, 2}, {c2, -2, 2}, AxesLabel -> Automatic],
 {{c3, -1}, -2, 2},
 {{c4, 1/2}, -2, 2}]
POSTED BY: Gianluca Gorni
Posted 2 years ago

Does this help?

Assuming[c1>0,
  Integrate[E^(1/4c1(1-y1)(1-y2)),{y1,-1,1},{y2,-1,1}]]
POSTED BY: Bill Nelson
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard