next up previous
Next: 2.19 ベクトルと行列 Up: 2 電卓的利用 Previous: 2.17 関数定義

2.18 微分方程式

  Maple Mathematica
  dsolve(x^3 diff(y(x),x) +y(x)^2=0,y(x)) DSolve[x^3 y'[x]+y[x]^2==0,y[x],x]
    NDSolve[{y'[x]==Sin[y[x]],y[0]==1}, y, {x,0,4}]
    Plot[Evaluate[y[x] /. %], {x,0,4}]

  ode:=y''(x)+y(x)=0
  ans:=dsolve(ode)
  odetest(ans,ode)
  f := a -> simplify(subs(x=a,rhs(ans)))
最後のところを f:= simplify(x->rhs(ans)) としてもうまく行かない。
  f := a -> eval(rhs(ans),x=a)
とすると良い? とにかくこうすると、f'(x) とか f(Pi) とかちゃんと動く。

  f:=unapply(rhs(ans),x)
とすると良い、という説がある (http://ist.ksc.kwansei.ac.jp/~nishitani/Lectures/2004/NumericalRecipe/MapleV9.pdf)。


next up previous
Next: 2.19 ベクトルと行列 Up: 2 電卓的利用 Previous: 2.17 関数定義
Masashi Katsurada
平成22年1月16日