Items tagged with loop loop Tagged Items Feed

I've got the following lists :

list1:=[1, 5, 14, 30, 55, 91, 140, 204, 285, 385, 506, 650, 819, 1015,

1240, 1496, 1785, 2109, 2470, 2870]
list2:=[1, 5, 14, 30, 55, 91, 140, 204, 285, 385, 506, 650, 819, 1015,

1240, 1496, 1785, 2109, 2470, 2870]

each generated by a procedure I defined. I need to verify that they are equal, which is the case. However, when I tried to use the evalb function as well as a flag that I was updating during a loop, in both cases, I got 'false' as  the answer along with the error message: 

"error, final value in a for loop must be numeric or a character"

What I am doing wrong?

Hello friends,

I try to write a loop in Maple.

The equation is f (x) = x + 3

x is a variable and should be from 50 to 70 with dx = 5 can be used in the function, so that f (x) is to be determined.

How can I write such a loop?

I am new to Maplesoft environment. I was trying to create a nested loop as given below:

I came across this error:

Error, increment of for loop must be numeric.

Could anyone kindly help?



I am having issues when defining functions in a loop. First, I define the first two functions as follows (here, r(x) is a function already assigned).


f_0 := x -> r(x):

f_1 := x -> r(x)*f_0(r(x)):


Then, I define successive functions in a for loop as follows.


for i from 2 to 10 do

   f_i := x -> r(x)*f_[i - 1](r(x));

end do


The loop defines the function f_2 but compiles erroneously for f_3 which, and I do admit, relies on f_2. Does someone have an idea of how to fix this issue? Any help will be greatly appreciated. Thanks.

Hi all,

I'm currently writing a code to solve the equations for a gravitational collapse of a star numerically. I'm using two dimensional Arrays for most of the physical quantities in my finite difference equations, with one index for the spatial dimension (I'm only considering spherically symmetric collapses) and one time index. I wrote two nested loops, where the inner one solves the equations from the centre of the star to the surface (with the exception of one quantitiy, where I have to integrate the other way around) and the outer loop advances the Arrays in time. My problem is, that Maple doesn't seems to evaluate the two dimensional Arrays. Instead for inserting the appropriate value for e.g. A[3,2], Maple just keeps on using A[3,2] which messes up some formulas, since I have to take roots of the numbers. At least that is what seems to be going on when I'm trying to debug the relevant part of the code and I check for the values, with whicih Maple calculates. I'm also using a one dimensional Array to store the timesteps, I'm using in the code and Maple doesn't seem to have problems evaluating them. Is anybody familiar with this problem? Does Maple have trouble with multidimensional Arrays in loops or have I just messed up my code? I have uploaded my code (I hope it worked). I apologize for my code being messy, but it's the first time I'm working with Maple and using numerical methods. The part which troubles me is labeled "# actual code".

Thank you all.

Hi there,

I would like to have the Jacobian matrix of an ODE system evaluated, and their eigenvalues computed, at the steady states of the system.

I know how to get the Jacobian matrix evaluated and the eigenvalues computed on an individual basis, setting manually each steady state as the argument of the matrix.

However, I would like to have it in a loop, so that the loop manages all steady states, that is:

steadyStates:= solve(mySystem); # would yield a set of pairs/lists

for each steadyState

m:=Jacobian(steadyStateN); # evaluate the Jacobian matrix

ev:= eigenvals(m); # compute the eigenvalues and save them to another variable/array and print them

end for:

First, I am not to find a way to loop over my steadyStates.

Attached is an example where the Jacobian matrix and eigenvalues are computed individually, where the steady states have been hard-coded once they have been computed:


Any ideas on how to do this?





Dear all;

I need your help to display the value of phi[jj] in the following loop. 


for jj from 1 by 1 to 2 do
end do;


but the index jj in the integral does not change. I have any idea what is the problem. 

Thank you very much for your help. 




I'm having a problem with the statements inside a for-loop somehow being read in a different way than outside the loop. 

I've defined some functions earlier, and then I need to perform an integration using these functions, while I change one variable a little for each loop of the for-loop. 

The problem is that IN the for-loop, I get the same value from my integration for all loops. But when I execute the exsact same code OUTSIDE of the loop, I get the correct values, which are changing whenever i change the one variable. 

Here is the loop:

for i from 0 to 42 do

rotorshift := evalf[6](2*((1/180)* *Pi*((1/2)*Ø[gap]))/N[m]-1/2*(tau[p]-tau[s]));

PMmmf_func := x-> proc (x) if type(x-rotorshift, nonnegative) then if type(trunc((x-rotorshift)/tau[p]), odd) = true then -H[c]*l[m] else H[c]*l[m] end if else if type(trunc((x-rotorshift)/tau[p]), odd) = true then H[c]*l[m] else -H[c]*l[m] end if end if end proc

B[g] := proc (x) -> 1000*mu[0]*(PMmmf_func(x)+MMF_func(x))/d[eff, stator](x) end proc;

Flux(i+1) := (int(B[g](x), 0 .. tau[s])+int(B[g](x), 3*tau[s] .. 4*tau[s])+int(B[g](x), 6*tau[s] .. 7*tau[s])+int(B[g](x), 9*tau[s] .. 10*tau[s]))*10^(-3)*L[ro];

end do;

And for all the values in the "Flux" vector, I get the same value. But when I remove the loop, and change the value of manually, I get the correct (changing) values of flux!! 

Any ideas why this may be? This is really dricing me nuts. I've spent the beter part of the day on this, and I just can't seem to find a workaround, much less a reason for this behaviour.

many thanks!

I have about a year of experience in Maple, but as we know, we often come accross very simple problems that are difficult to find solutions to. Part of the problem is that I have not used conditional tests within for loops before.

I have a very large matrix, but until I solidify the algorithm, I'm practicing on a small matrix.

I created a 3 by 3 fibonacci matrix A:=<21,5,1|13,3,1|6,2,0>

I am trying to change the 1s to 0s without specific index reference. Here is my psuedocode that I hope to work on after some tips:

  • for i from 1 to 9
    if A[k] = 1 then
    end if
    end do


I get an error message saying "unterminated for loop," which is confusing me.

Hallo. I'd like to use two commands in loop like:

for i from 1 by 1 to k  do r:=Search(polyQ[i],[Q]) and T[r]:=T[r]-polyeq[i] end do

But Maple: "Error, unterminated loop". Hmm...

AoA. How are you? Hope you will be fine. I want write the following in Loop for any M


F[r,s]:=2^(k+2) m sqrt((c[r-1])/(c[s-1])) for r=2...(M+1), s=1..r-1 and (r+s)=odd;

F[r,s]:=0  otherwise



In Maple, I want to define a set of functions by means of two for loops:


    # Node coordinates.

    # Partition of unity.
    for j from 2 by 1 to N_x-1 do
        for k from 2 by 1 to N_y-1 do

However, this gives output in which the `[j,k]` vary but the `x_n[j-1]`, `x_n[j+1]`, `y_n[j-1]` and `y_n[j+1]` are not evaluated. But if I for instance input `x_n[3]` I correctly get 1/2 as answer.

How do I solve this?

Hi there,

first post. I am a beginner both with Maple and this forum, so please forgive my mistakes. Just here to learn.

I could not successfully use the Maple editor here, so the code goes as plain text, although I also attach the code:

I am trying to simulate the function below for certain values of the parameters, but when executing the loop, Maple prints just R. Can anyone tell me where my error is, please?


f := .25; g := 1; R[0] = 5; R[1] = 4.8; nDays := 30;

lambda1:=(1 - f + sqrt((1 - f) + 4*g*f)*1/2;

lambda2:=(1 - f - sqrt((1 - f) + 4*g*f)*1/2;

       -lambda2*R[0] + R[1]
       lambda1 - lambda2

       lambda2*R[0] - R[1]
      lambda1 - lambda2

R:=n-> k1*lambda1^n + k2*lambda2^n

for n from 2 to nDays
do R:=evalf(subs(n=%,R));


I wnat to print the polar that contain a part of loops,but it always contains all loops.

how do I solve this preblem?

Any one can help me,please?





i want to define a loop for like this : 

for i from 0 to 100 by 0.2 do; ... ; od ;

i want when this loop finishes,the the loop turns to exactly vice versa respect,and continue , i mean it continue like this :
for i from 100 to 0 by -0.2 ...  , 

can anybody help me to find an algorithm for this ? tnx in advance

1 2 3 4 5 6 7 Last Page 1 of 10