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 *R*, *y*;

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;