Question: Procedure to produce array of parameters and numerically solved roots.

February 07 2014 weirp 20


I have defined the following procedure, S(x,a,b,s), in Maple with the goal of creating an exportable two column, multi-row array, containing the least positive real root of a high order polynomial f(x,y)=0 in the 2nd column, and a parameter y in the first column.

The procedure takes four numerical arguments (x,a,b,s) and varies parameter y from the initial non-negative value of a, by stepsize s, until the value min(b,1) is reached.

Unfortunately, the output 4x2 array only has the last calculated [y,solution] entries in the first row. Successive rows are filled with zeros.

Is there anyone kind enough to point out the error in the way I have defined this procedure? Many thanks in advance. Procedure is:

S := proc (x, a, b, s
   global Ry;
   for y from a by s to b while y < 1
     do R := Array(1 .. ceil((min(b, 1)-a)/s), 1 .. 2, [[y, FindMinimalElement(select(type, [fsolve(f(x) = 0)], positive))]])
     end do;
     end proc;

Please Wait...