Merge branch 'master' into bug-4403-remove-polyfill
[maxima.git] / doc / info / ja / Differential.texi
blobbb3e4703c9778df625ab52adfce4bc18596c5eed
1 @menu
2 * Introduction to Differential Equations::  
3 * Functions and Variables for Differential Equations::  
4 @end menu
6 @node Introduction to Differential Equations, Functions and Variables for Differential Equations, Differential Equations, Differential Equations
7 @section Introduction to Differential Equations
9 この節は、
10 一次と二次方程式のいくつかの特定のタイプの解析解を得るためのMaximaで利用可能な関数を
11 記述します。
12 微分方程式系の数値解を得るには、
13 付加パッケージ@code{dynamics}を参照してください。
14 位相空間でのグラフィカルな表現に関して、
15 付加パッケージ@code{plotdf}を参照してください。
17 @node Functions and Variables for Differential Equations,  , Introduction to Differential Equations, Differential Equations
18 @section Functions and Variables for Differential Equations
21 @deffn {関数} bc2 (@var{solution}, @var{xval1}, @var{yval1}, @var{xval2}, @var{yval2})
22 二階微分方程式の境界値問題を解きます。
23 ここで: @var{solution}は、@code{ode2}が見つけるような方程式の一般解です;
24 @var{xval1}は、独立変数の最初の点の値を、形式@code{@var{x} = @var{x1}}で指定し、
25 @var{yval1}は、その点の従属変数の値を、形式@code{@var{y} = @var{y1}}で与えます。
26 式@var{xval2}と@var{yval2}は、
27 それらの変数の二番目の点での値を、同じ形式を使って与えます。
29 用法の例については@code{ode2}を参照してください。
31 @opencatbox
32 @category{Differential equations}
33 @closecatbox
34 @end deffn
37 @deffn {関数} desolve (@var{eqn}, @var{x})
38 @deffnx {関数} desolve ([@var{eqn_1}, ..., @var{eqn_n}], [@var{x_1}, ..., @var{x_n}])
39 関数@code{desolve}は、ラプラス変換を使って線形常微分方程式系を解きます。
40 ここで、@var{eqn}群は、従属変数@var{x_1}, ..., @var{x_n}に関する微分方程式です。
41 @var{x_1}, ..., @var{x_n}の独立変数、例えば@var{x}、への関数依存性は、
42 変数や導関数の中で陽に示されなければいけません。
43 例えば、これは、2つの方程式を定義する正しい方法ではありません:
45 @example
46 eqn_1: 'diff(f,x,2) = sin(x) + 'diff(g,x);
47 eqn_2: 'diff(f,x) + x^2 - f = 2*'diff(g,x,2);
48 @end example
50 正しい方法は以下の通りです:
52 @example
53 eqn_1: 'diff(f(x),x,2) = sin(x) + 'diff(g(x),x);
54 eqn_2: 'diff(f(x),x) + x^2 - f(x) = 2*'diff(g(x),x,2);
55 @end example
57 関数@code{desolve}のコールは、
58 @example
59 desolve([eqn_1, eqn_2], [f(x),g(x)]);
60 @end example
61 です。
63 もし@code{x=0}の初期条件が既知なら、
64 それらは、@code{atvalue}を使って、@code{desolve}コールの前に供給することができます。
66 @c ===beg===
67 @c 'diff(f(x),x)='diff(g(x),x)+sin(x);
68 @c 'diff(g(x),x,2)='diff(f(x),x)-cos(x);
69 @c atvalue('diff(g(x),x),x=0,a);
70 @c atvalue(f(x),x=0,1);
71 @c desolve([%o1,%o2],[f(x),g(x)]);
72 @c [%o1,%o2],%o5,diff;
73 @c ===end===
74 @example
75 (%i1) @b{@t{'diff(f(x),x)='diff(g(x),x)+sin(x);}}
76                  d           d
77 (%o1)            -- (f(x)) = -- (g(x)) + sin(x)
78                  dx          dx
79 (%i2) @b{@t{'diff(g(x),x,2)='diff(f(x),x)-cos(x);}}
80 @group
81                   2
82                  d            d
83 (%o2)            --- (g(x)) = -- (f(x)) - cos(x)
84                    2          dx
85                  dx
86 @end group
87 (%i3) @b{@t{atvalue('diff(g(x),x),x=0,a);}}
88 (%o3)                           a
89 (%i4) @b{@t{atvalue(f(x),x=0,1);}}
90 (%o4)                           1
91 (%i5) @b{@t{desolve([%o1,%o2],[f(x),g(x)]);}}
92                   x
93 (%o5) [f(x) = a %e  - a + 1, g(x) = 
95                                                 x
96                                    cos(x) + a %e  - a + g(0) - 1]
97 (%i6) @b{@t{[%o1,%o2],%o5,diff;}}
98              x       x      x                x
99 (%o6)   [a %e  = a %e , a %e  - cos(x) = a %e  - cos(x)]
101 @end example
103 もし@code{desolve}が解を得られないなら、
104 @code{false}を返します。
106 @opencatbox
107 @category{Differential equations}
108 @category{Laplace transform}
109 @closecatbox
110 @end deffn
112 @deffn {関数} ic1 (@var{solution}, @var{xval}, @var{yval})
113 一階微分方程式の初期値問題を解きます。
114 ここで、@var{solution}は、@code{ode2}が見つけるような、方程式の一般解であり、
115 @var{xval}は、独立変数の初期値を、形式@code{@var{x} = @var{x0}}で与え、
116 @var{yval}は、従属変数の初期値を、形式@code{@var{y} = @var{y0}}で与えます。
118 用法の例については@code{ode2}を参照してください。
120 @opencatbox
121 @category{Differential equations}
122 @closecatbox
123 @end deffn
125 @deffn {関数} ic2 (@var{solution}, @var{xval}, @var{yval}, @var{dval})
126 二階微分方程式の初期値を解きます。
127 ここで、 @var{solution}は、@code{ode2}が見つけるような、
128 方程式の一般解のであり、
129 @var{xval}は、独立変数の初期値を、形式@code{@var{x} = @var{x0}}で与え、
130 @var{yval}は、従属変数の初期値を、形式@code{@var{y} = @var{y0}}で与え、
131 @var{dval}は、従属変数の独立変数に関する一階導関数の初期値を、
132 形式@code{diff(@var{y},@var{x}) = @var{dy0}}で、与えます。
133 (@code{diff}はクォートされる必要はありません。)
135 用法の例については、@code{ode2}を参照してください。
137 @opencatbox
138 @category{Differential equations}
139 @closecatbox
140 @end deffn
142 @deffn {関数} ode2 (@var{eqn}, @var{dvar}, @var{ivar})
143 関数@code{ode2}は、一階または二階常微分方程式(ODE)を解きます。
144 3つの引数を取ります:
145 @var{eqn}で与えられるODE、従属変数@var{dvar}、独立変数@var{ivar}。
146 成功した時、従属変数に関する陽解または陰解を返します。
147 一階方程式の場合、@code{%c}が積分定数を表し、
148 二階方程式の場合、@code{%k1}と@code{%k2}が定数を表します。
149 従属変数の独立変数への依存性は、
150 @code{desolve}の場合のように、陽に書かれる必要はありませんが、
151 独立変数はいつも三番目の引数として与えられなければいけません。
153 たとえどんな理由でも、もし@code{ode2}が解を得られなかったら、
154 おそらく、エラーメッセージを表示した後、@code{false}を返します。
155 一階方程式用に実装された方法は、試される順番に、線形、分離、厳密―おそらく因子の積分を要求します―、斉次、ベルヌーイの等式、一般化斉次法、です。
156 解ける二階方程式のタイプは、定係数、厳密、定数係数に変換可能な非定数係数線形斉次、
157 オイラーまたは等次元方程式、パラメータ変動法で解ける方程式、
158 独立変数または従属変数を含まなくて、順に解かれる2つの一階線形方程式に換算できる方程式、
159 です。
161 ODEを解く間、いくつかの変数が純粋に参考目的で設定されます:
162 @code{method}は、使われた解法(例えば、@code{linear})を示し、
163 @code{intfactor}は、任意の使われた積分因子を示し、
164 @code{odeindex}は、ベルヌーイ法または一般化斉次法のインデックスを示し、
165 @code{yp}は、パラメータ変動手法の特殊解を示します。
167 初期値問題(IVP)を解くためには、
168 一階と二階方程式のためには関数@code{ic1}と@code{ic2}が利用可能であり、
169 二階境界値問題(BVP)を解くためには、
170 @code{bc2}を使うことができます。
172 例:
174 @c ===beg===
175 @c x^2*'diff(y,x) + 3*y*x = sin(x)/x;
176 @c ode2(%,y,x);
177 @c ic1(%o2,x=%pi,y=0);
178 @c 'diff(y,x,2) + y*'diff(y,x)^3 = 0;
179 @c ode2(%,y,x);
180 @c ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));
181 @c bc2(%o5,x=0,y=1,x=1,y=3);
182 @c ===end===
183 @example
184 (%i1) @b{@t{x^2*'diff(y,x) + 3*y*x = sin(x)/x;}}
185                       2 dy           sin(x)
186 (%o1)                x  -- + 3 x y = ------
187                         dx             x
188 (%i2) @b{@t{ode2(%,y,x);}}
189                              %c - cos(x)
190 (%o2)                    y = -----------
191                                   3
192                                  x
193 (%i3) @b{@t{ic1(%o2,x=%pi,y=0);}}
194                               cos(x) + 1
195 (%o3)                   y = - ----------
196                                    3
197                                   x
198 (%i4) @b{@t{'diff(y,x,2) + y*'diff(y,x)^3 = 0;}}
199                          2
200                         d y      dy 3
201 (%o4)                   --- + y (--)  = 0
202                           2      dx
203                         dx
204 (%i5) @b{@t{ode2(%,y,x);}}
205                       3
206                      y  + 6 %k1 y
207 (%o5)                ------------ = x + %k2
208                           6
209 (%i6) @b{@t{ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));}}
210 @group
211                              3
212                           2 y  - 3 y
213 (%o6)                   - ---------- = x
214                               6
215 @end group
216 (%i7) @b{@t{bc2(%o5,x=0,y=1,x=1,y=3);}}
217                          3
218                         y  - 10 y       3
219 (%o7)                   --------- = x - -
220                             6           2
222 @end example
224 @opencatbox
225 @category{Differential equations}
226 @closecatbox
227 @end deffn