Hi,

I'm trying to do a simple linear least squares fit of some data in an application.

The relevant code runs about as follows, following closely the example found on http://mail.python.org/pipermail/python-list/2006-March/331693.html

---------
import matplotlib.numerix as nx

contact_x_points=nx.array(x_points[left_bound:right_bound])
contact_y_points=nx.array(y_points[left_bound:right_bound])

A=nx.ones((len(contact_x_points),2))
A[:,0]=contact_x_points result=nx.linear_algebra.linear_least_squares(A,contact_y_points)
---------

...but when I run, it crashes with:

File "hooke.py", line 202, in find_contact_point
    result=nx.linear_algebra.linear_least_squares(A,contact_y_points)
File "/usr/lib/python2.3/site-packages/Numeric/LinearAlgebra.py", line 416, in linear_least_squares
    nlvl = max( 0, int( math.log( float(min( m,n ))/2. ) ) + 1 )
OverflowError: math range error


I also tried using scipy:
-----------
import scipy as sp

contact_x_points=sp.array(x_points[left_bound:right_bound])
contact_y_points=sp.array(y_points[left_bound:right_bound])

A=sp.ones((len(contact_x_points),2))
A[:,0]=contact_x_points           result=sp.linalg.lstsq(A,contact_y_points)
-------------

... with another error:

array_from_pyobj:intent(hide) must have defined dimensions.
rank=1 dimensions=[ 0 ]
Traceback:
[...]
File "hooke.py", line 202, in find_contact_point
    result=sp.linalg.lstsq(A, contact_y_points)
File "/usr/lib/python2.3/site-packages/scipy/linalg/basic.py", line 344, in lstsq
    overwrite_b = overwrite_b)
flapack.error: failed in converting hidden `s' of flapack.dgelss to C/Fortran array

In my .matplotlibrc the numerix backend is Numeric.
I'm on Debian Sarge; MPL version is 0.82 ; Scipy is 0.3.2


It must be noticed that I fail to declare

A=nx.ones((len.contact_x_points),2),dtype=float)
as the example should seem to require, because it gives me another error:

TypeError: ones() got an unexpected keyword argument 'dtype'

...so if this is the problem, please tell me how to correctly pass the dtype argument.

Since I'm quite a scipy/numeric newbie I guess there could be some obvious blunder and/or more correct way of obtaining my fit, and I'd be thankful to anyone pointing me at the solution...

Thanks,
Massimo

--
Massimo Sandal
University of Bologna
Department of Biochemistry "G.Moruzzi"

snail mail:
Via Irnerio 48, 40126 Bologna, Italy

email:
[EMAIL PROTECTED]

tel: +39-051-2094388
fax: +39-051-2094387
begin:vcard
fn:Massimo Sandal
n:Sandal;Massimo
org:University of Bologna;Department of Biochemistry
adr:;;Via Irnerio 48;Bologna;;40126;Italy
email;internet:[EMAIL PROTECTED]
tel;work:+39-051-2094388
tel;fax:+39-051-2094387
x-mozilla-html:FALSE
version:2.1
end:vcard

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to