From: Michael Schmidt on 29 Nov 2007 06:16 Hi you all, yesterday, I played a little bit more with NDSolve to find the problem. Here is another simpler example which shows what can go wrong. Can you please check whether you get the same results, as for me this looks like a bug in NDSolve? sol1 and sol2 just work as they should do. Thus, there is no problem, if you only have matrices or scalars. sol1 = NDSolve[{x'[t] == -x[t], y'[t] == -y[t], x[1] == 0.1, y[1] == 0.1}, {x, y}, {t, 1, 10}] sol2 = NDSolve[{x'[t] == -x[t], y'[t] == -y[t], x[1] == 0.1 IdentityMatrix[2], y[1] == 0.1 IdentityMatrix[2]}, {x, y}, {t, 1, 10}] However, as soon as you mix scalars and matrices, the matrix should not start with "y", "Y" or even "somelongfunnymodulename`Private`Y" : sol3 = NDSolve[{y'[t] == -y[t], x'[t] == -x[t], y[1] == 0.1 , x[1] == 0.1 IdentityMatrix[2]}, {y, x}, {t, 1, 10}] sol4 = NDSolve[{x'[t] == -x[t], y'[t] == -y[t], x[1] == 0.1, y[1] == 0.1 IdentityMatrix[2]}, {x, y}, {t, 1, 10}] sol3 just works fine. However, sol4 results in NDSolve::nlnum: "The function value {-0.099924,{{-0.099924,0.},{0.,-0.099924}}} is not a list of numbers with dimensions {5} at {t,x[t],y[t]} = {1.00076,0.099924,{{0.099924,0.},{0.,0.099924}}}." Best regards, Michael
|
Pages: 1 Prev: FindRoot and Bose-Einstein distribution Next: A problem with FindRoot |