Solving Loop in Mathematica for (u,i) Pairs

  • Thread starter Thread starter Juliane
  • Start date Start date
  • Tags Tags
    Loop Mathematica
Click For Summary

Homework Help Overview

The discussion revolves around a numerical integration problem in Mathematica, specifically focused on finding pairs of values (u, i) that yield a specific result from a given expression involving Bessel functions.

Discussion Character

  • Exploratory, Problem interpretation, Assumption checking

Approaches and Questions Raised

  • The original poster attempts to use a nested loop structure in Mathematica to find pairs (u, i) that satisfy a specific condition based on numerical integration results. Some participants suggest using a for loop instead of an if statement to allow the program to continue evaluating after finding a valid pair. Others propose wrapping the existing code in a Table expression to iterate through the values of u.

Discussion Status

Participants have provided guidance on modifying the Mathematica code to achieve the desired outcome. The original poster has reported success with the suggested changes, indicating that the discussion has progressed towards a productive direction.

Contextual Notes

There is a mention of a better forum for Mathematica-related questions, suggesting that the original poster may seek further assistance in a more appropriate context.

Juliane
Messages
8
Reaction score
0
Hi, can anyone help me?

I have the following expression:

NIntegrate[
Exp[-((2 t^2 u^2)/i^4)] t^2 BesselI[0, t/
i^4] (BesselI[-1, t/i^4] + BesselI[1, t/i^4]), {t, 0,
1}]/(2 NIntegrate[
Exp[-((2 t^2 u^2)/i^4)] + BesselI[0, t/i^4]^2, {t, 0, 1}])

For (u,i)=(0,4) it gives 0.000244141. What I won't is to find the pairs (u,i) which also give this value.
Because of the Besselfunktions it must be done numerically.

I have written the following program in mathematica:

Catch[Do[If[
NIntegrate[
Exp[-((2 t^2 u^2)/i^4)] t^2 BesselI[0, t/
i^4] (BesselI[-1, t/i^4] + BesselI[1, t/i^4]), {t, 0, 1}]/(
2 NIntegrate[
Exp[-((2 t^2 u^2)/i^4)] + BesselI[0, t/i^4]^2, {t, 0, 1}]) <
0.000244141, Throw[{u, i}]], {u, 0, 4}, {i, 3, 4, 0.001}]]

But it stops as soon as it finds values for (u,i) which fullfills the inequality. How do I make the program go on for u=2,3, 4...?

I think that maybe I can use Table to make this work, but I don´t know how to do it.
Please help me
Juliane
 
Physics news on Phys.org
If this is anything like Matlab then you need to use a for loop. An if statement will terminate as soon as the if condition is satisfied, whereas a for loop will continue to evaluate until told to stop by the user.

Try searching through the Mathematica help browser to see if you can do a for statement (it will have something like a for loop, though it may under a different name).
 
Juliane said:
I have written the following program in mathematica:

Catch[Do[If[
NIntegrate[
Exp[-((2 t^2 u^2)/i^4)] t^2 BesselI[0, t/
i^4] (BesselI[-1, t/i^4] + BesselI[1, t/i^4]), {t, 0, 1}]/(
2 NIntegrate[
Exp[-((2 t^2 u^2)/i^4)] + BesselI[0, t/i^4]^2, {t, 0, 1}]) <
0.000244141, Throw[{u, i}]], {u, 0, 4}, {i, 3, 4, 0.001}]]

But it stops as soon as it finds values for (u,i) which fullfills the inequality. How do I make the program go on for u=2,3, 4...?

I think that maybe I can use Table to make this work, but I don´t know how to do it.
Please help me
Juliane

If you want to keep that form of your program, you can wrap it in a Table expression like this:

Code:
Table[
Catch[Do[If[
   NIntegrate[
     Exp[-((2 t^2 u^2)/i^4)] t^2 BesselI[0, t/
       i^4] (BesselI[-1, t/i^4] + BesselI[1, t/i^4]), {t, 0, 1}]/(
    2 NIntegrate[
      Exp[-((2 t^2 u^2)/i^4)] + BesselI[0, t/i^4]^2, {t, 0, 1}]) < 
    0.000244141, Throw[{u, i}]], {i, 3, 4, 0.001}]]  ,{u,1,4}]

and it will find values for u=1,2,3,4.
 
Thank you so much, now it works.
 
Juliane said:
Thank you so much, now it works.

You're welcome! By the way, there is a better place here to post questions about mathematica. From the front page, choose the "computer science" forum, and then choose the "math & science software" subforum.

Or follow this link:

https://www.physicsforums.com/forumdisplay.php?f=189
 
Oh, okay thanks
 

Similar threads

  • · Replies 27 ·
Replies
27
Views
2K
  • · Replies 19 ·
Replies
19
Views
2K
Replies
23
Views
2K
Replies
17
Views
1K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 88 ·
3
Replies
88
Views
6K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 6 ·
Replies
6
Views
1K