PDEplot[options] - PDEplot のオプション
使い方
PDEplot(PDE, inits, srange)
パラメータ
PDE - 1 個の n 変数未知関数を含む 1 階の PDE (偏微分方程式)
inits - n + 1 次元空間の中にある (n-1) 次元多様体のパラメータ表示を指定する n+1 個の式または等式からなるリスト; 初期データ
srange - 初期データに対するパラメータの範囲 (1 つまたは複数)
options - (オプション) 等式、以下で説明
|
説明
|
|
•
|
PDE、初期データ、及びその範囲以外の PDEplot の引数は任意の順序で与えることができます。それらは オプション = 値 の形の等式でなければなりません。以下のオプションがサポートされています:
|
'animate'
'basechar'
'color'
'ic_assumptions'
'initcolor'
'iterations'
'method'
'numchar'
'numsteps'
'obsrange'
'scene'
'stepsize'
'u'
'xi'
|
grid、gridstyle、numoptions 以外のすべての plot3d のオプションと同様に、 dsolve[numeric] のオプションを利用できます。
|
•
|
animate = true, false, only
|
|
一般に、解は (n+1) 次元空間内の n 次元の超曲面です。n > 2 のとき、これを視覚化するのは難しいので、animate=true とおくことにより解を動画化することができます。その結果得られるアニメーションは、全体で解曲面の形状を表示する多様体の列を表示します。 これらの各多様体は、得られた解曲面を生じさせることのできる初期条件と見なせます。実際、与えられた初期曲面はこれらの多様体のうちの1つ(オプション numsteps を使っていないならば、普通はこの列の真ん中)です。
|
|
animate=false と設定すると、単に、初期条件を黒色でハイライトした解の超曲面を表示します。
|
|
もし animate=only を与えたならば、解の全曲面は全く表示されません。その代わりに初期条件の曲面が動画化されるだけです。 アニメーションの中を進んでいくにつれて、初期曲面の列がその形状を描くオブジェクトは容易に解として想像できます。アニメーションにかかる時間および含まれるデータを減らすことは別として、このオプションを、以下で説明する basechar=true とおいて連係して使っても役立つでしょう。 デフォルトでは、n = 2 に対しては animate=true で、n > 2 については animate=only です。
|
|
アニメーションのフレームの数は、実行される積分のステップの回数です。精度を変えずにフレームの数を少なくするには、積分のステップの回数を少なくし、繰返しの回数を多くします。 numsteps, iterations を参照して下さい。
|
•
|
basechar = true, false, only
|
|
basechar オプションは、底 (初期条件の点の時間発展の x-y 平面への射影)をプロットするかどうかを指示します。basechar が 'true' に設定されているならば、底特性曲線がプロットされます。また basechar を 'false' と設定すると底特性曲線を表示しませんし、basechar を 'only' とおくと、底特性曲線と初期データ曲線をプロットしますが、解曲面はプロットしません。basechar = only と設定することは、オプション animate が 'false' と設定されていなければ選択できません。デフォルトでは basechar は 'false' と設定されています。
|
•
|
color, colour = s_color
|
|
color を設定することにより、結果として得られる解曲面の色を取り扱う方法が提供されます。それは次のいくつかの形を取ることができます。 1) plot[color] 名; 2) COLOR('HUE',realcons); 3) COLOR('RGB',realcons,realcons, realcons); 4) 2変数の数式; 5) 2変数の手続き; 6) 2変数の式の3つの要素からなるリスト; 7) 2変数の手続きの3つの要素からなるリスト。
|
|
4) および 5) の場合、(平面内の)格子の座標は式または手続きに渡され、計算結果は [0,1] の範囲に正規化され 'HUE' の値として使われます。6) および 7) の場合、計算結果は [0,1] 上正規化され RGB の値として使用されます。4) および 6) は2つの従属変数の式を含まねばならないことに注意して下さい。この色の形式は解曲面のいろいろな特徴を識別するのに役に立ちます。
|
|
現時点でこのオプションは、2変数に関する1つの未知関数からなる PDE (すなわち n=2) に対してのみ利用できます。デフォルトの色付けは、Maple のプロットコードにより内部的に扱われます。
|
•
|
ic_assumptions = [eqn1,eqn2,...]
|
|
非線形方程式については、大抵の場合、不定関数の1階微分の初期条件を決定できるのは、それぞれが相異なる解超曲面を定義するような可能性の集合でしかありません。その結果、パラメータの関数としての初期条件多様体上で導関数の値に関して、いくつか仮定を与えなければいけません。これらは、不定関数の1階の導関数、関数それ自身、未知数のいずれか、およびパラメータを含む等式、あるいは不等式として与えることができます。 これらの可能な解を区別するのに充分な仮定でなければなりません。もしそれらが不十分な場合は、エラーメッセージが導関数の初期条件に対する可能性をすべて表示するでしょう。その中から1つ選んでオプション ic_assumptions に含めなければいけません。以下の例を参照して下さい。
|
•
|
initcolor, initcolour = i_color
|
|
initcolor を設定することにより、初期条件 inits に対する色の扱いが提供されます。それは次の5つの形を取ることができます。1) plot[color] 名前; 2) COLOR('HUE',realcons); 3) COLOR('RGB',realcons,realcons, realcons); 4) 初期データパラメータの式; 5) 1つの引数を持つ手続き。
|
|
4) および 5) の場合、値は [0,1] に正規化され、'HUE' の値として適用されます。(以下の color を参照して下さい。)
|
|
現時点でこのオプションは、2変数に関する1つの未知関数からなる PDE (すなわち n=2) に対してのみ利用できます。デフォルトの色付けは、Maple のプロットコードにより内部的に扱われます。
|
|
iterations オプションは、格納およびプロットされる各点に対し、計算する点の個数を指示します。これは多数の格子点を格納したりプロットしないで高い精度を得るために役立ちます。このオプションは internal 法(Runge-Kutta 積分法)に対してのみ適用できます。デフォルトは1です。
|
|
method オプションは、internal または、dsolve[numeric] で指定される method の1つに設定することができます。デフォルトは、注目に値する速度の向上を生み出すので internal 法、すなわち Runge-Kutta 法を用います。dsolve または 数値計算法は、高い精度を要求する PDE、またはその特性多様体に堅さの兆候がある場合にのみ使うことを推奨します。
|
•
|
numchar = integer,[integer,integer,...],[t1=integer,t2=integer,...]
|
|
解超曲面は特性曲線からなり、各特性曲線は初期条件多様体の上の異なる点を通ります。初期データのパラメータの各範囲に沿った、このような(各パラメータに関して、等しく空白で区切られた)点の個数は numchar で指示されます。等式のリストが与えられた場合、それは [t1=integer,t2=integer,...] のタイプでなければなりません。ここで t1, t2,... はパラメータです。パラメータの順序はパラメータの範囲の定義の場合と同じです(上を参照)。 たとえば、n=3 (すなわち、初期多様体が4次元空間内の2次元曲面のとき)、 numchar = [10,5] のとき、解曲面は、初期曲面を表す 10x5 の格子の各点を通る特性曲線の集合になるでしょう。 n=2 についてはデフォルトは 20 で、その他の場合は、各方向に 約 40^(1/(n-1)) です。最小値は 4 です。
|
•
|
numsteps = [integer, integer], integer
|
|
numsteps オプションは、各特性曲線に沿って、各方向にプロットされる点の個数を指示します。1つの整数のみを与えた場合、特性曲線は numsteps の符号により指定される1方向に積分されるだけです。デフォルトは [-10,10] です。
|
|
obsrange が true と設定された場合、曲面の特性曲線に沿った積分は、指定された範囲のどれか1つを越えると、その1つ先のメッシュ点で停止します。これは漸近的な挙動をともなう関数をプロットするとき、または内部的に計算されるメッシュ点の個数を減らすときに役立ちます。もし false ならば、解曲面全体が計算されますが、範囲内にある部分だけが表示されます。これは解曲面が1点で範囲の境界を越え、その後ずっと戻って来る場合に役立ちます。デフォルトの obsrange の値は true です。
|
•
|
scene = [x-axis,y-axis,z-axis]
|
|
scene オプションはプロットされ変数、およびどの軸の上にプロットされるかを指示します。1つまたは複数の従属変数、独立変数、パラメータを、どんな順序で選んでもプロットできることに注意して下さい。デフォルトの scene は、初めの2つの独立変数が x 軸および y 軸上で、従属変数が z 軸上です。
|
|
stepsize オプションは、特性曲線に沿った計算される各点の間の距離を指定します。デフォルトの stepsize は 0.25 ですが、これは最大値でもあります。
|
•
|
xi = xi_min..xi_max, u or u(x1,...,xn) = u_min..u_max.
|
|
範囲は、これらのプロットされるべき(先に説明したオプション scene を使って指示される)変数に対し指定できます。一般に、範囲は与えられた変数に対してプロットされる程度(プロットの範囲)を決定します。
|
|
デフォルトでは、範囲が与えられていない変数、たとえば x2 のプロットの範囲は、このオプションで与えられる変数の範囲内 (x1_range, x3_range, u_range) で曲面上を点が動くとき、その変数 (x2) の最大および最小値を使うことにより決定されます。 1つの範囲も与えられない場合は、解曲面全体が表示されます。
|
|
|
例
|
|
>
|
pde2 := diff(u(x,y),x)^diff(u(x,y),x)=y;
|
| (2.1) |
>
|
PDEplot(pde2,[cos(t),sin(t),exp(t)],Pi/4..3*Pi/4,animate=false);
|
>
|
pde3 := diff(u(x,y,z,w),x)+diff(u(x,y,z,w),w)*diff(u(x,y,z,w),y);
|
| (2.2) |
>
|
assumption :=
diff(u(x,y,z,w),x)=
-1/2/(8*s^3*r^2+2*s*r*t)*(-s-8*s^2*r-t+(s^2+16*r*s^3+2*t*s+t^2)^(1/2))*s;
|
| (2.3) |
>
|
PDEplot(pde3,[t+r^2,s^2+r,s*t,s,r],[t=-6..-2,s=-1..-.5,r=-6..-2],
ic_assumptions=[assumption],scene=[u,w,z]);
|
>
|
pde4:=diff(z(u,v,w),u)*u*cos(v)-diff(z(u,v,w),v)*w+diff(z(u,v,w),w)=-w
*v*surd(u,3) -sin(-u+v);
|
| (2.4) |
>
|
PDEplot(pde4,[t,sin(t),s,t/2],t=-2*Pi..3*Pi,s=-Pi..Pi,
iterations=2, numchar=[10,10],stepsize=.05,numsteps=[-5,5]);
|
>
|
pde5 := (y^2+z(x,y)^2+x^2)*diff(z(x,y),x)-2*x*y*diff(z(x,y),y)-2*z(x,y)*x=0;
|
| (2.5) |
>
|
PDEplot(pde5,z(x,y),[t,t,sin(Pi*t/0.1)/10],t=0..0.1,numchar=40,
orientation=[-163,56],basechar=true,numsteps=[20,20],stepsize=.15,
initcolour=cos(t)*t,animate=false,style=PATCHCONTOUR);
|
もっと多くの例については、PDEtools[PDEplot] を参照して下さい。
|
|
参照
|
|
DEtools, dsolve, dsolve[classical], dsolve[dverk78], dsolve[gear], dsolve[lsode], dsolve[numeric], dsolve[rkf45], PDEtools, PDEtools[PDEplot], plot3d
|
|