Items tagged with loop loop Tagged Items Feed

Hi, I'm having trouble trying to make a loop stop when a variable hits certain value. No, break doesn't help much as the code is intended to be executed w/ "execute the entire worksheet" command, and break only stops the calculation on this especific execution block (I'm using maple 18 btw).

Any ideas would be highly apreciated.


I have a little question about the property "local" or not of a index in a for loop.

I notice that when I make "for loop" the index i is not local. In the small example, when I ask to evaluate i after having done this loop, the answer is 5 and not i.

Example :

for i from 1 to 4 do

i; --> 5

How can I do to ask Maple to use index as local ?

Thanks a lot for your help.


the expression


for k from 1 to N do


end do;


end do:


how do we transform this using only one loop?



So, I am working in a partial differeital equations course and we are doing image processing. I am taking an image and pixel by pixel applying the heat equation to smudge out noise. I created a for loop for the equation and it works, I need to itterate it over and over again. Here is my code:

for t from 1 to 20 do    

for j from 2 to 149 do

for k from 2 to 149 do  


 end do

end do  

for m from 2 to 149 do

for n from 2 to 149 do  

`tile__m,n`:= `tile2__m,n`  

end do

end do  

t := t+1  

end do


Sorry, I could not get the Maple Math editor to work so I just copied my code. Apologize. I keep getting the error "Error, Invalid loop statement termination." Help?


Dear All

Please see following:


Suppose we have

M := proc (i) options operator, arrow; i/(i+1) end proc

proc (i) options operator, arrow; i/(i+1) end proc



F := proc (i, j) options operator, arrow; M(i)/(M(i)+j) end proc

proc (i, j) options operator, arrow; M(i)/(M(i)+j) end proc


 For i from 1 to 5 and j from 1 to 5, how one can display all values of F(i,j) using "loop" ???




I want to plot a function given different value combinations of parameters. I used the following code and it doesn't work. Could anybody please help?

I'm new to Maple, and I come from using Matlab.  Apparently my Matlab way of thinking isn't working on Maple.  I'm trying  to ride a bit of code that simulates flipping a coin 1000 times.  The code counts one partiuclar result (1=heads) at the end prints that result.


Here's the code:




for i from 1 to 10000 do  

roll := rand(1..2):  


if (roll=1) then count:=count+1 end if  

end do  


 I get errors saying I didn't terminate my loops correctly.  Help, please.

I have a homework ask you to find the first string of (at least)10, 50, 100 consecutive composites. I have no idea how to use maple. HELP

all i can think of is 


>ithprime(i+1) - ithprime(i) = 10

>print(i+1, i)


and combine it with some loop

i dont know how to set up a loop

 need a lot of help 

Hi so im trying to create a loop which allows me to find the first square after this number 
zahl:=1234567: could you guys tell me whats wrong and explain me why it is wrong, i suck at this :/

thank you so much 

 while sqrt(zahl)<> round(sqrt(zahl)) do  
   zahl:=zahl +1  
     if sqrt(zahl)<> round(sqrt(zahl))then  
 end if:
 end do;

Here is a simple program that displays the issue.

yint:=proc(i,a,b) local y,yi; y:=x^i; yi:=int(y,x=a..b); return yi; end:


for i from 1 to n do inty:=yint(i,a,b); od:

Running the program gives the following memory usage.

n            memory
10^4      70M
10^5      138M
10^6      562M

Why is the memory increasing so much? Are internal variables to yint stored between calls?

How can I avoid the memory increase with such a loop?


I need to complete the definition of P km using a for loop so that km(n,m) returns n k=1 k m whenever n, m ∈ Z, n > 0, and m ≥ 0.( You must use a for loop in the variable k, with k ranging from 1 to n, to do this question in the manner requested.)

km is defined as 

description "km(n,m) returns the sum of k^m as k ranges from 1 to n.";
end proc; # km

Not sure where tostart..Any help appreciated...thank you

Dear all

I have query related to generating commutator table from given Lie algebra spanning symmetries of PDE, I have ten vectors that I need to commute with each other to constitute commutator table. I have calculated all the commutations manually using "symmetrycommutator" command.

My queries is, can I convert this operation into short loop type program which automatically calculate cummutation of vectors from 1 to 10.

The Maple file is attaches with this query for reference.

Dear all,

I am using Maple to perform numerical integrations. When the final index in the loop is set to 5, the computation is fast and the results are quickly delivered. When I set a number higher than that, even 6, the program gets really slow and often crashes.

I herewith attach the script I use to generate the results. I guess that there should be a problem of memory management and I tried to use gc() as suggested in some forms but without success. I would appreciate it if someone here could explain the reason behind the problem.

Thank you,

restart; Ts := 1.; sigma := 1.; C := 1.; B := 2./(1+C); with(inttrans); beta := B*Ts*omega; assume(Tb > 0); assume(u >= 0); FzzS := -(3/2)*u^3*((2*u+I*beta)*(exp(2*sigma*u)+sigma^2*exp(2*u))-4*sigma*u*((1+sigma)*u-1))/((2*u+I*beta)^2*exp((2*(1+sigma))*u)-4*u^2*((1+sigma)*u-1)^2); InvFzzS := simplify(invfourier(FzzS, omega, t)); logTimeMin := -2; logTimeMax := -1; NumSteps := 6; logTimeStep := evalf(1.0*(logTimeMax-logTimeMin)/NumSteps); curdirectory(); A := matrix(NumSteps, 2); T1 := Array(1 .. NumSteps); AF := Array(1 .. NumSteps); for i to NumSteps do logTime := evalf(i*logTimeStep+logTimeMin); curTime := evalf(10^logTime); A[i, 1] := curTime; A[i, 2] := evalf(Int(eval(InvFzzS, t = curTime), u = 0 .. infinity, epsilon = 10^(-5))); T1[i] := A[i, 1]; AF[i] := A[i, 2] end do






Working on a code to create random lines. Here is the code: 

M:=1; N:=1500; R3:=rand(1..3): # M=lines, N=steps

for i from 1 to M do
   for j from 0 to N do
   if j=1 then X[i,1]:=1; Y[i,1]:=0;
    elif j>1 then
        if r=1 then X[i,j]:=2*X[i,j-1]-X[i,j-2]; Y[i,j]:=2*Y[i,j-1]-Y[i,j-2]
        elif r=2 then X[i,j]:=X[i,j-1]+Y[i,j-1]-Y[i,j-2]; Y[i,j]:=Y[i,j-1]-X[i,j-1]+X[i,j-2];
        elif r=3 then X[i,j]:=X[i,j-1]-Y[i,j-1]+Y[i,j-2]; Y[i,j]:=Y[i,j-1]+X[i,j-1]-X[i,j-2];
      end if;
    end if;
  end do:
end do:

Now the code works fine. But I don't want the lines to cross its own path. I want it to stop if R[i,j]=R[i,k] for any 0<k<i-2 for j=0..N. What I have so far is:

for i from 1 to M do
  for j from 1 to 40 do
    for k from 1 to j-2 do
     if R[i,j]=K[i,k] then x:=j; print(b[i]=j); break; end if;
     end do;
   end do;
end do;

Now it works aswell, but it doesn't stop when it hits the crossing point. I want it to stop so i get one b[i]=j per M. So I need it to break two for loops so that it goes through i M times and stops everytime it reaches a crossing point

The title pretty much says it, but I wrote a bunch of code that operates on a matrix of given size. Now I want to increment that size with a loop, how can I put a loop around all the code? It won't let me just copy paste it into my loop body for some reason. Thanks!

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