
Re: NDSolve differences between mathematica 8 and 9
Posted:
Jan 26, 2013 1:38 AM


Hello,
I am using mathematica 9 and having some problems with a particular expression, but when I tried it on mathematica 8 it worked perfectly. My expression is:
NDSolve[{D[T[n,z],n]+i 2 D[T[n,z],{z,2}]+z^2 T[n,z]==0,T[0,z]==1,Derivative[0,1][T][n,5]==0,Derivative[0,1][T][n,0]==0},T,{n,0,5},{z,0,5}]
where i is the imaginary number, and on both I had a new window to work on, with nothing having been done previously on it.
Mathematica 8 gave me this: {{T> InterpolatingFunction[{{0.,5.},{0.,5.}},<>]}}
and mathematica 9 gave me this: NDSolve::ndnum : Encountered nonnumerical value for a derivative at n==0.`.>>
Does anyone know what is going on here? I cannot use mathematica 8, as I do not have continual access to that machine.
Thank you for your help.
Hi, Teresa,
It works for me with Mathematica 9:
NDSolve[{D[T[n, z], n] + I 2 D[T[n, z], {z, 2}] + z^2 T[n, z] == 0, T[0, z] == 1, Derivative[0, 1][T][n, 5] == 0, Derivative[0, 1][T][n, 0] == 0}, T, {n, 0, 5}, {z, 0, 5}]
{{T > \!\(\* TagBox[ RowBox[{"InterpolatingFunction", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.`", ",", "5.`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.`", ",", "5.`"}], "}"}]}], "}"}], ",", "\<\"<>\"\>"}], "]"}], False, Editable>False]\)}}
The only difference is that I used "I" instead of "i". Indeed "I" in Mathematica is the imaginary unit, while "i" is a variable, like any other letter, say, "a", "b", "c" and so on. As long as you did not give it any value, it is understood as an undefined (i.e. nonnumerical) variable by Mathematica, and that's what Mathematica reports you: " Encountered nonnumerical value...".
Have fun, Alexei
Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L5326 Contern, LUXEMBOURG
Office phone : +35224542566 Office fax: +35224543566 mobile phone: +49 151 52 40 66 44
email: alexei.boulbitch@iee.lu

