Filter löschen
Filter löschen

infinite loop and the term within loop again contains infinity

2 Ansichten (letzte 30 Tage)
math seeker
math seeker am 27 Mai 2018
Kommentiert: Walter Roberson am 28 Mai 2018
I want to solve a loop given below
prev_val=0;
for m=0:inf
curr_val=(beta/(2*m+1)*pi)*sin((2*m+1)*pi/beta)*exp((2*m+1)^2)*alpha;
prev_val=prev_val+curr_val;
endfor
gt=const*prev_val;
I am facing two problems with this. In this, the upper limit of the loop, as per the equation to be solved, is infinity. In addition, the value of beta is again infinity. How can I solve this problem?
  5 Kommentare
math seeker
math seeker am 28 Mai 2018
I mean beta is a constant and its value is infinity.
Walter Roberson
Walter Roberson am 28 Mai 2018
In that case, as I posted, the sum over m is sign(alpha) times infinity

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Rik
Rik am 27 Mai 2018
I found an answer to your question on stackoverflow: if you don't have the symbolic toolbox, quadgk can still solve your integral.
f = @(x) x.*exp(-x);
a = quadgk(f, 0, inf)
a =
1.0000
How you can deal with beta being infinity is something I don't have any ideas for. Maybe you can try with just a big number, maybe enlarging it in a while loop to simulate the limit function.
f=@(m) (beta/(2*m+1)*pi)*sin((2*m+1)*pi/beta)*exp((2*m+1)^2)*alpha;
  1 Kommentar
Ameer Hamza
Ameer Hamza am 27 Mai 2018
You can also use integral(). The function name integral() appears to be more intuitive as compared to quadgk() as himself mentioned by Mathwork cofounder.

Melden Sie sich an, um zu kommentieren.


Walter Roberson
Walter Roberson am 27 Mai 2018
For the case of limit as beta approaches infinity, then under the assumption that m is a non-negative integer, the individual terms are
Pi^2*exp(4*m^2+4*m+1)*alpha
The sum of this over m = 0 to infinity is sign(alpha) * infinity

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by