Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to use Save/Get for interpolation of unstructured

  • To: mathgroup at smc.vnet.net
  • Subject: [mg125413] Re: How to use Save/Get for interpolation of unstructured
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Tue, 13 Mar 2012 03:03:03 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jj7dri$2ds$1@smc.vnet.net> <201203110906.EAA19348@smc.vnet.net> <jjkehc$1bh$1@smc.vnet.net>

On 12/03/2012 09:10, Ted Sariyski wrote:
> On 3/11/2012 5:06 AM, David Bailey wrote:
>> On 07/03/2012 10:38, Ted Sariyski wrote:
>>> Hi,
>>>
>>> I posted this question a couple of days ago but did not get any
>>> response. Meanwhile I noticed that the Save-d interpolation data contains
>>> "NDSolve`FEM`ElementMesh", which may relates to my problem. Let me
>>> restate the question.
>>>
>>> I have 2D unstructured data in the form {{{1.22001, 0.00024605},
>>> 0.816237}, {{1.22334, 0.000250332},0.436219},... } (connectivity is also
>>> available but I do not know how to use it with Mathematica).
>>>
>>> Interpolation issues a warning:
>>>
>>> "Interpolation::udeg: Interpolation on unstructured grids is currently
>>> only supported for InterpolationOrder->1 or InterpolationOrder->All.
>>> Order will be reduced to 1.>>",
>>>
>>> The warning is not an issue for me, the problem is that I cannot use
>>> Save/Get for this interpolation function. After Get the interpolation
>>> function instead of a number returns:
>>>
>>> intp[1., .8]
>>>        InterpolatingFunction[{{0.000905256237704326, 1.9993734385285347},  {0.00024605021944692736, 0.9989678166248219}},
>>> {4, 4225, 0, {10880, 2}, {2, 2}, 0, 0, 0, 0, Automatic},
>>> {NDSolve`FEM`ElementMesh[{{1.220009724772626, 0.00024605021944692736},
>>> {1.223336731504134, 0.0002503318707254048}, {1.2273720422942693, ...
>>>
>>> which is the non-evaluated  content of the Save-d file.
>>>
>>> What is the right way to use Save/Get for interpolation of unstructured
>>> data?
>>>
>>> Any help will be highly appreciated.
>>> Thanks,
>>> --Ted

> data = Table[{{Random[], Random[]}, Random[]}, {i, 1, 10}];
> intp = Interpolation[data];
> intp[0.1, 0.2]
> Out[]:  1.110174
>
> Save["intp.mat", intp];
> Quit[]
>
> Get["intp.mat"];
> intp[0.1, 0.7]
> Out[]: intp[0.1, 0.7]
> InterpolatingFunction[{{0.141559,0.972136},{0.0916656,0.927415}},{4,4225,0,{10,2},{2,2},0,0,0,0,Automatic},{NDSolve`FEM`ElementMesh[{{0.141559,0.972136},{0.0916656,0.927415}},{NDSolve`FEM`TriangleElement[<12>]}]},{0.106611,0.195957,0.105951,0.417478,0.901584,0.324786,0.696795,0.424483,0.192741,0.949504},{Automatic}][0.1,0.7]
>

I looked at the file intp.mat, and that appears to be syntactically 
valid, and if you split the above into separate cells, you can see that 
the syntax error does not come from the Get command. However, for some 
reason, the term starting NDSolve`FEM`ElementMesh..... seems to print 
out in skeletal form with <13> - which is obviously invalid. I presume 
you cut and pasted that back to create new input - hence the skeleton 
expression will not parse and gives a syntax error.

I would use the InterpolatingFunction object in the kernel without 
copy/pasting it.

David Bailey
http://www.dbaileyconsultancy.co.uk





  • Prev by Date: Re: Trouble Getting Graphic Primitives in a Module to Display with Show Command
  • Next by Date: Re: Trouble Getting Graphic Primitives in a Module to Display with Show Command
  • Previous by thread: Re: How to use Save/Get for interpolation of unstructured
  • Next by thread: Re: How to use Save/Get for interpolation of unstructured