[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
71.1 Introduction to plotdf | ||
71.2 Functions and Variables for plotdf |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
関数plotdf
は、 1次常微分方程式(ODE)や2つの自律 1次
ODE系の(勾配場とも呼ばれる)方向場のプロットを生成します。
Plotdfは Xmaximaを必要とします。 コンソールや他の Maximaインターフェースから使うことはできますが、 結果のファイルは Xmaximaに送られ、プロットされます。 plotdfを使ってみる前に Xmaximaをインストールしたことを確認してください。
単一 ODEの方向場をプロットするには ODEを以下の形式で書かなければいけません:
dy -- = F(x,y) dx |
そして関数 Fを plotdf
の引数に与えなければいけません。
もし独立変数と従属変数が、上の式のように xと yでないなら、
plotdfコマンドへの引数として与えられるリストの中に明示的にそれら
2つの変数を指名しなければいけません。
(例を見てください。)
2つの自律 ODEの組の方向場をプロットするには、それらを以下の形式で書かなければいけません。
dx dy -- = G(x,y) -- = F(x,y) dt dt |
そして plotdf
の引数は 2つの関数 Gと
Fをその順に持つリストでなければいけません;
すなわち、リストの最初の式は水平軸上に表された変数の時間導関数であり、
二番目の式は垂直軸上に表された変数の時間導関数です。
それら2つの変数は xと yである必要はありませんが、
もしそうでないなら、 plotdfに与えられる二番目の引数は
2つの変数を指定する別のリストでなければいけません。
一番目が水平軸上のものを、その後が垂直軸上のものを指定します。
もし単一の ODEが与えられるなら、
plotdf
は、暗に x=t
, G(x,y)=1
とみなし、
非自励方程式を 2つの自励方程式系に変換します。
Categories: Differential equations ·Share packages ·Package plotdf
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
[
u,v]
, ...options...)[
dxdt,dydt]
, ...options...)[
dudt,dvdt]
, [
u,v]
, ...options...)2次元 xと yに方向場を表示します。
最初の引数は導関数を指定し、式か 2つの式のリストでなければいけません。
dydx, dxdt, dydtは xと yに依存する式です。
dvdu, dudt, dvdtは uと vに依存する式です。
それら 2つの変数に加えて、
parameters
オプションで与えられる数値を持つか
(オプション構文法は以下に与えられます)、
slidersオプションで指定される許される値の範囲のパラメータ一式にも、
式は依存するかもしれません。
コマンド内やメニューで選択して、いくつかの他のオプションを与えることができます。
プロット上でクリックしたり、オプション
trajectory_at
を使って積分曲線を得ることができます。
direction
オプションを使って積分の方向を制御できます。
オプションは、 forward, backward,
bothのいずれかの値を取り得ます。
nsteps
で積分ステップの数を与えることができ、
tstep
オプションでそれらの間の時間間隔を設定できます。
積分には Adams Moulton法が使われます;
4次の適応 Runge-Kutta法に切り替えることも可能です。
プロットウィンドウメニュー:
プロットウィンドウのメニューには以下のオプションがあります: Zoom, はマウスの振る舞いを変えて、プロット領域上で左ボタンをクリックすることで ズームインできるようになります。 ある点近くをクリックする毎に、クリックした点を中心にしてプロットが拡大されます。 <Shift>キーを押しながらクリックすると、以前の倍率にズームアウトします。 ある点をクリックした時、軌跡の計算を再開するにはメニューから Integrateを選択してください。
メニューの中のオプション Configを使って,使用中の ODE(s)や様々な他の設定を変えることができます。 構成が変更された後、新しい設定を稼働するにはメニューオプション Replotを選択しなければいけません。 もし、座標の組を Configダイアログメニューの場 Trajectory atに入れて、 <enter>キーを押したら、 既に示されているものに加えて、新しい積分曲線が表示されます。 Replotが選択された時は、入れられた最後の積分曲線だけが表示されます。
右マウスボタンを押しながらカーソルを動かすと、プロットを横や上下にドラッグできます。 ステップ数や tの初期値、x, yの中心や範囲のような追加パラメータは、 Configメニューで設定できます。
プロットのコピーは、メニューオプション Saveを使って ポストスクリプトファイルとして保存できます。
プロットオプション:
plotdf
コマンドはいくつかのコマンドを含むかもしれません。
それぞれのコマンドは複数の項目のリストです。
最初の項目はオプション名で、残りはオプションに割り当てられる値から成ります。
plotdf
が認識するオプションは以下の通りです:
plotdf
に与えられたら、
x変数は tに直接比例することになります。
デフォルト値は 0.1です。
tstep
のステップ回数を定義します。
デフォルト値は 100です。
forward
―これは増分 tstep
で独立変数を nsteps
回増やします―
backward
―これは独立変数を減らします―
または both
―これは
nsteps
回前進、 nsteps
回後進で拡げた積分曲線に導きます―
キーワード right
と left
を、
forward
と backward
の別称として使うことができます。
デフォルト値は both
です。
versus_t
が 0と異なる任意の値を与えられたら、
二番目のプロットウィンドウが表示されます。
二番目のプロットウィンドウはメインプロットウィンドウのメニューに似た別のメニューを含みます。
デフォルト値は 0です。
name=value
の列を持つ文字列で与えなければいけません。
name=min:max
の列を持つ文字列で与えなければいけません。
例:
(%i1) plotdf(exp(-x)+y,[trajectory_at,2,-0.1])$ |
(%i1) plotdf(x-y^2,[xfun,"sqrt(x);-sqrt(x)"], [trajectory_at,-1,3], [direction,forward], [y,-5,5], [x,-4,16])$ |
グラフは関数 y = sqrt(x)も表示します。
(%i1) plotdf([v,-k*z/m], [z,v], [parameters,"m=2,k=2"], [sliders,"m=1:5"], [trajectory_at,6,0])$ |
(%i1) plotdf([y,-(k*x + c*y + b*x^3)/m], [parameters,"k=-1,m=1.0,c=0,b=1"], [sliders,"k=-2:2,m=-1:1"],[tstep,0.1])$ |
(%i1) plotdf([w,-g*sin(a)/l - b*w/m/l], [a,w], [parameters,"g=9.8,l=0.5,m=0.3,b=0.05"], [trajectory_at,1.05,-9],[tstep,0.01], [a,-10,2], [w,-14,14], [direction,forward], [nsteps,300], [sliders,"m=0.1:1"], [versus_t,1])$ |
Categories: Package plotdf ·Plotting ·Numerical methods
[ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は市川 雄二によって2012年1月月7日にtexi2html 1.82を用いて生成されました。