[SciPy-User] scipy.interpolate.Rbf

Robert Kern robert.kern@gmail....
Sun Aug 22 19:54:55 CDT 2010


On Sun, Aug 22, 2010 at 17:56, Brennan Williams
<brennan.williams@visualreservoir.com> wrote:
>
> On 12/08/2010 10:24 a.m., Robert Kern wrote:
>>
>> On Wed, Aug 11, 2010 at 17:16, Brennan Williams
>> <brennan.williams@visualreservoir.com>  wrote:
>>>
>>>  I'm coding up using Rbf where the number of coordinates x,y,z.... will
>>> vary from one dataset to another.
>>> So I may have...
>>>
>>> rbfi=Rbf(x,y,z,d) for one dataset
>>>
>>> and then....
>>>
>>> rbfi=Rbf(u,v,w,x,y,z,d) for another
>>>
>>> This is all inside a Traits GUI app rather than in a user-editable
>>> script.
>>> So how should I do this?
>>
>> Collect the arguments in a list and use Rbf(*args).
>>
> See attached code example. I've put the arrays into a list and then called
> Rbf but I'm getting...
>
> Traceback (most recent call last):
>  File "F:\dev\rezen\code\testrbf.py", line 36, in <module>
>    rbfi=Rbf(alist)
>  File "C:\Python26\lib\site-packages\scipy\interpolate\rbf.py", line 176, in
> __init__
>    'All arrays must be equal length'
> AssertionError: All arrays must be equal length
>
> and as far as I can tell my arrays are float32 arrays of equal length. So is
> my syntax in calling Rbf incorrect?

You didn't do what I said.

--- testrbf.py  2010-08-22 19:47:02.000000000 -0500
+++ correctrbf.py       2010-08-22 19:53:31.000000000 -0500
@@ -33,5 +33,5 @@
 alist.append(a6)
 print 'alist'
 print alist
-rbfi=Rbf(alist)
+rbfi=Rbf(*alist)
 print 'rbfi=',rbfi

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco


More information about the SciPy-User mailing list