Mathematicaで微分方程式のグラフを作成する方法

このQ&Aのポイント
  • Mathematicaを使用して微分方程式のグラフを作成する方法について詳しく説明します。
  • 質問の内容は、NDSolve関数でエラーが発生しており、原因を知りたいというものです。
  • 解決策として、NDSolve関数の引数や微分方程式の設定に誤りがないか確認することをおすすめします。
回答を見る
  • ベストアンサー

Mathematicaで微分方程式のグラフ

u''[x]+ a u'[x] + u[x] , u[0] = 1, u'[0]=0 のグラフをManipulateを使ってaを動かしながら書きたいのですが ClearAll["Global`*"] ode = {u''[x] + a u'[x] + u[x] == 0 , u[0] == 1 , u'[0] == 0}; sol = NDSolve[ode, u, {x, -10, 10}]; Manipulate[Plot[u /. sol, {-10, 10}], {a, -10, 10}] としたところ、NDSolveでエラーが出てしまいます どこが間違っているのでしょうか? よろしくお願いします。

noname#151451
noname#151451

質問者が選んだベストアンサー

  • ベストアンサー
  • Knotopolog
  • ベストアンサー率50% (564/1107)
回答No.1

Mathematica を使っていないのでグラフは描けませんが,与えられた微分方程式を,条件, u[0]=1, u'[0]=0 で解くと,a≠±2 でなければなりません. 解の積分定数の中に,1/√(a^2-4) という項が部分的に現れるため,a=±2 で,分数の分母がゼロになり,コンピュータなどによる数値計算では桁落ちが発生する可能性があります.こためエラーが表示される事にもなりかねません. a=±2 の点を除いて計算してみては如何でしょうか. 因みに,微分方程式の一般解は,c_1,c_2 を積分定数とすると, u(x) = (c_1)exp{(-1/2)(√(a^2-4)+a)x} + (c_2)exp{(1/2)(√(a^2-4)-a)x} で与えられます.

noname#151451
質問者

お礼

ありがとうございます、やってみます。

関連するQ&A

  • mathematica

    mathematicaのビギナーです。 f[x_,a_]:=a*Sin[x]; a10=Plot[f[u,10],{u,0,3}]; a20=Plot[f[u,20],{u,0,3}]; のように定義して、これらの関数をShowコマンドで Show[a10,a20] のように、一つのグラフで二つの関数を描いたときに、これらの関数の名前を図中にそれぞれ表示させたいです。いろいろ探したところ、optionでPlotLabelというのがあり、 a10=Plot[f[u,10],{u,0,3},PlotLavel->"a10"]; a20=Plot[f[u,20],{u,0,3},PlotLavel->"a20"]; として Show[a10,a20] とやってみたのですが、関数の名前は同時に表示されませんでした。 ご存知の方教えていただけないでしょうか?よろしくお願いします。

  • mathematicaでグラフの名前の付け方

    mathematicaで、ある関数f(x,a)をプロットするとします。 f(x,1)とf(x,2)のグラフを同時に描画することはできるのですが、 それぞれの関数に名前を付け、グラフ中に表示させることはできますか? 例えば、f(x,1)はa=1,f(x,2)はa=2と表示させたいです。 出来れば、それぞれの曲線は異なる色で出力されるので、赤の曲線:a=1、青の曲線:a=2 とグラフの右上あたりに表示させたいです。 よろしくお願いします。

  • Mathematicaで条件を変えてプロット

    Mathematicaで y(x) = ax + b といった式をaとbの条件を変えて同じグラフにプロットするにはどうしたらいいのでしょうか? 例えば、a=1 b=2、a=2 b=3についてそれぞれプロットするには y1(x) = x + 2 y2(x) = 2x + 3 とそれぞれ定義して同じグラフにプロットすることは出来るのですが、 条件が多い場合、また式が煩雑な場合となると大変になるので 簡単にする方法があれば教えていただきたいです。

  • mathematica, グラフ, 軸設定

    mathematicaのグラフの描き方について質問させていただきます. x=yの3次式 を縦軸y, 横軸xでPlotしたいと考えていますが, Plot[yの3次式, {yの範囲}] を実行すれば、横軸yでPlotされるかと思います. yを変化させ(yをxについて解かずに), 横軸にx, 縦軸にyでPlotしたいのですが、 軸を設定するオプションコマンドなどはありますでしょうか。 よろしくお願い申し上げます。

  • 微分方程式の偏微分問題について

    微分方程式の偏微分問題について 大学で微分方程式の授業を履修しているのですが、指定された問題がまったくわかりません 問u0>0,p>1とする。次の1階単独ODEの初期値問題について、(u0の0は小文字でユーゼロです) du/dt=u^p (t>0) u(0)=u0 u(t)が発散する時刻をTmaxとするとき、解u=u(t) (0<t<Tmax)を求めよ という問題です。 偏微分の計算の説明を少しされただけなので、このような文章問題はどうすればいいのかまったくわかりません。 一応この問題の前に 『1階単独ODEの初期値問題と局所解の一意存在定理』 2変数関数f(x,y)は点(x0,y0)の近くで偏微分できて、さらにその偏導関数fx(x,y),fy(x,y)は連続とする(これは短く「点(x0,y0)の近くで連続微分可能である」という)。そのとき、次の1階単独ODE y´=f(x,y), (y=y(x);unknown) について、y(x0)=y0をみたす解がx=x0の近くでただ1つ存在する という定理が書いてありましたが、説明されていないので自分で読むだけではまったく理解できませんでした。 明日までなので焦っています。 どなたか問題を解いて下さる方はいらっしゃいませんでしょうか?

  • Mathematicaを用いて連立微分方程式を解く

    私はMathematicaについては素人ですが、頑張って勉強しています。 2種間の競争を表すモデルを解いていますが、うまくいきません。 微分方程式は以下のようです。 dx/dt=r1x(1-(x+ay)/K1) dy/dt=r2y(1-(bx+y)/K2) 上記の方程式をMathematicaで次のように書きました。 r1 = 1; r2 = 2; K1 = 80; K2 = 70; a = 0.7; b = 1.1; ok = Dsolve[{x'[t] == r1 x [t](1 - (x[t] + a y[t])/K1), y'[t] == r2 y[t](1 - (b x[t] + y[t]/K2)), x[0] == 0, y[0] == 0}, {x[t], y[t]}, t]; これでいいのですか?また、これをx,y軸の範囲が0から100としてPlotしたいですが、どのように書けばいいのですか? よろしくお願いします。

  • 微分方程式

    微分方程式が解けません。途中までやったのですがやり方はあってるでしょうか? y''-3y=(x+1)sinh2x・・(1) 特殊解をY(x)=u(Asinh2x+Bcosh2x)として     Y'=u'(Asinh2x+Bcosh2x)+u(2Asinh2x+2Bcosh2x) Y''=u''(Asinh2x+Bcosh2x)+2u'(2Asinh2x+2Bcosh2x) +u(4Asinh2x+4Bcosh2x) (1)に代入して    (1)=u''(2Asinh2x+2Bcosh2x)+2u'(2Asinh2x+2Bcosh2x) +u(4Asinh2x+4Bcosh2x)-3u(Asinh2x+Bcosh2x) =((u'+u)A+4u'B)sinh2x+((u'+u)B+4u'A)cosh2x =(x+1)sinh2x (u'+u)A+4u'B=1 (u'+u)B+4u'A=0 u=Cx+Dとおいて   u'=C u''=0 より (Cx+D)A+4CB=x+1・・・(2) (Cx+D)B+4CA=0 (2)よりC=1 D=1 までできるのですがAとBが求まりません。途中でどこかちがうのでしょうか?よろしくお願いします  

  • 偏微分方程式について

    ∂u/∂t = ∂^(2)u/∂x^(2) (0 < x < L , t > 0) u(0,t) = a , u(L,t) = b , u(x,0) = f(x) ただしa、bは定数であり、Lは正の定数である。 (1)∂u/∂t = 0 を満たす解 u0(x) を求めよ。 (2)v(x,t) = u(x,t) - u0(x) が満たす偏微分方程式および    境界条件を導け。 -------------------------------------------------------------------------- という問いです。 境界条件がu(0,t) = u(L,t) = 0 のパターンならわかるのですが こちらのパターンは全く手付かずです。。。 わかるかたいましたらお願いいたします。

  • 微分方程式

    cosh(x) の定義は(e^x+e^{-x})/2 sinh(x) の定義は(e^x-e^{-x})/2です。 なので、A_1, A_2 を任意定数として A_1 e^x + A_2 e^-x とあらわせる式は、 A'_1, A'_2 を適当に置きなおすと、A'_1 cosh(x) + A'_2 sinh(x) と置きなおすことができるのですが、次の問題が分かりません。 {(d/dx)^4}u=Pu, (0<x<1), u(0)=u'(0)=0, u(1)=u'(1)=0 の問題についてですが D=d/dxとして特性方程式を作って {D+i[4]√(P)}{D-i[4]√(P)}{D+[4]√(P)}{D-[4]√(P)}=0 (ここで 累乗根 : x[n]√(a+b) = (x)(a+b)^(1/n) とする) とすると根がx = ±[4]√(P),±i[4]√(P)となり、一般解は公式より u=c1e^(-ix[4]√(P)) + c2e^(ix[4]√(P)) + c3e^(-x[4]√(P)) + c4e^(x[4]√(P)) (c1,c2,c3,c4は任意定数) となる。ココから次の式に導くのですがそれが分かりません。 u=c'1cosh(x[4]√(P)) + c'2sinh(x[4]√(P)) + c'3cos(x[4]√(P)) + c'4sin(x[4]√(P)) (c'1,c'2,c'3,c'4は任意定数) いろいろ試してみたのですが、出来ませんでした。 分かる方教えてください。お願いします。

  • 偏微分方程式

    偏微分方程式の問題についていくつか質問です。 (1)uxx=uyy=0を求めよ。 これをuxx=0,uyy=0としてそれぞれ u=A(y)x+B(y) u=C(x)y+D(x) と解いたのですが、これで正しいですか? (2)ux-uy=0の解を求めよ。 u=exp(αx+βy)と置いて u=exp(α(x+y)) と解を出してみました。しかし答を見ると、 u=cexp(k(x+y)) となっていました。 ほぼ同じですが、僕が出した答でよいのでしょうか? (3)変数変換v=x,z=x+yを用いて、uxy-uyy=0を解けとはどういうことですか?