I am trying to solve a PDE that needs to be scaled constantly (refer to this). @andre suggests I modify NDSolve`StateData.

Now, the problem is, I'm not used to the object-oriented side of Mathematica, and I cannot find any useful materials on Mathematica's "object". For example, to extract the intermediate values I can use ndssdata@"SolutionVector"["Forward"]. I don't even know if ndssdata@"SolutionVector"["Forward"] is a method or an variable. Assignment like ndssdata@"SolutionVector"["Forward"]= 2 ndssdata@"SolutionVector"["Forward"] does not work, i.e. ndssdata@"SolutionVector"["Forward"] is not changed after the assignment.

Question in short: how to modify the actual data in NDSolve`StateData?

Optional: Where can I find materials on complex Mathematica objects like NDSolve`StateData?

  • 3
    $\begingroup$ In case you haven't seen this doc or this one $\endgroup$
    – Michael E2
    Commented Apr 9, 2013 at 4:17
  • $\begingroup$ It is a good idea to have done this question. It's the continuation of our exchange. I have read the first reference indicated by Michael E2. The second one not so carefully. I know a good part of the .NET tutorial which has nothing to do except that it is object programming too.I'm going to study the 2nd ref of Michael E2 $\endgroup$
    – andre314
    Commented Apr 9, 2013 at 7:43
  • $\begingroup$ The first reference of Michael E2 is not the same with mathematica 8 and mathematica 9. I use mathematica 8 ! .I hope that some information in Mathematica 9 works also for Mathematica 8 (concerning component and data strucure of NDSolve) $\endgroup$
    – andre314
    Commented Apr 9, 2013 at 8:46
  • $\begingroup$ @andre I'm not sure the second one will prove as relevant. It seems to have examples dealing with state data. For convenience, the corresponding V8 docs are here and here $\endgroup$
    – Michael E2
    Commented Apr 9, 2013 at 11:26


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.