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