nonlinear curve from data



Hi,

I have a list of floating point numbers.

Here is a short version :

a:[ 0.571910, -1.000000, -1.000000, -1.000000,  0.622216, 0.622671, 
0.623127, 0.623582, 0.624048, 0.624518, 0.624987, 0.625458];

( see all list a in a file attached).


I can copy a list to Maxima and plot it :

load(draw);
draw2d(point_size    = 1,
        points_joined = true,
        color         = red,
        points(makelist(i,i,1,length(a)),a)) ;

This should describe a nonlinear curve . If the number is negative it 
means that data is missing.

I would like to change negative values for interpolate  ones.
I can make linear do it using linear function , but then curve is not 
smooth. I would like to use nonlinear function.

How can I do it in Maxima ?

TIA

Adam
-------------- next part --------------
a:[ 0.571910, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, -1.000000, 0.612124, 0.612230, 0.612647, 0.613064, 0.613484, 0.613905, 0.614328, 0.614750, 0.615177, 0.615602, 0.616032, 0.616462, 0.616894, 0.617325, 0.617762, 0.618198, 0.618639, 0.619079, 0.619520, 0.619966, 0.620408, 0.620859, 0.621305, 0.621757, 0.622216, 0.622671, 0.623127, 0.623582, 0.624048, 0.624518, 0.624987, 0.625458];