Main Content

deval

微分方程式の解の構造体を評価

説明

y = deval(sol,x) および y = deval(x,sol) は、微分方程式問題の解 solx に含まれる点で評価します。

y = deval(___,idx) は、ベクトル idx にリストされたインデックスをもつ解の成分のみを返します。前述の入力引数の組み合わせのいずれかを使用できます。

[y,yp] = deval(___) は、ソルバーが生成した数値解の 1 次導関数 yp も返します。

すべて折りたたむ

この例では、dde23 を使用して DDE 方程式 y' = ddex1de(t,y,Z) を解き、解をプロットします。

dde23 を使用して方程式系を解きます。

sol = dde23(@ddex1de, [1 0.2], @ddex1hist, [0 5]);

区間 [0 5] 内の 100 の点で解を評価します。

x = linspace(0,5);
y = deval(sol,x);

解をプロットします。

plot(x,y)

Figure contains an axes object. The axes object contains 3 objects of type line.

この例では、ode45 を使用して方程式系 y' = vdp1(t,y) を解き、解の最初の成分をプロットします。

ode45 を使用して方程式系を解きます。

sol = ode45(@vdp1, [0 20], [2 0]);

区間 [0 20] 内の 100 の点で、解の最初の成分を評価します。

x = linspace(0,20,100);
y = deval(sol,x,1);

解をプロットします。

plot(x,y)

Figure contains an axes object. The axes object contains an object of type line.

ode23 を使用し、区間 [0,3] で初期条件 y0 = 0 を使用して、単純な ODE である y' = t^2 の解を求めます。

sol = ode23(@(t,y) t^2, [0 3], 0);

7 点で解を評価します。解の構造体 sol には、deval がそれらの点で連続解を生成するために使用する内挿関数が含まれます。deval に 2 番目の出力引数を指定して、指定点における内挿関数の導関数も返します。

x = linspace(0,3,7);
[y,yp] = deval(sol,x)
y = 1×7

         0    0.0417    0.3333    1.1250    2.6667    5.2083    9.0000

yp = 1×7

         0    0.2500    1.0000    2.2500    4.0000    6.2500    9.0000

入力引数

すべて折りたたむ

解の構造体。以下の微分方程式ソルバーのいずれかによって返される構造体として指定します。

  • 初期値問題ソルバー (ode45ode23ode113ode15sode23sode23tode23tbode15i)

  • 遅延微分方程式ソルバー (dde23ddesd または ddensd)

  • 境界値問題ソルバー (bvp4c または bvp5c)

例: sol = ode45(@myode,tspan,y0)

データ型: struct

評価点。ベクトルとして指定します。x は、解の値を求める点を指定します。x の要素は、元の積分区間 [sol.x(1) sol.x(end)] 内に存在しなければなりません。各インデックス i について、解 y(:,i)x(i) に対応します。

例: 0:0.1:1

例: [2 3 5 8]

データ型: single | double

返される解の成分。ベクトルとして指定します。解の特定成分にのみ関心がある場合は、この入力を使用します。

例: y = deval(sol,x,[2 3]) は、解の 2 番目の成分と 3 番目の成分のみを返します。

データ型: single | double

出力引数

すべて折りたたむ

内挿された解。ベクトルまたは行列として返されます。y の行数は、返される解の成分の数と等しくなります。

複数の点がある境界値問題の場合、bvp4c または bvp5c で取得される解は、インターフェイスで不連続になることがあります。境界点 xc では、関数 deval は、xc の左右の限界の平均値を返します。限界値を取得するには、x の値を xc よりわずかに大きい値または小さい値に設定します。

sol により生成された連続解の導関数。ベクトルまたは行列として返されます。ypy と同じサイズであり、y の個々の解の点で sol が使用した内挿関数の勾配を示します。

拡張機能

バージョン履歴

R2006a より前に導入