MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
微分方程式の解の構造体を評価
y = deval(sol,x)
y = deval(x,sol)
y = deval(___,idx)
[y,yp] = deval(___)
y = deval(sol,x) および y = deval(x,sol) は、微分方程式問題の解 sol を x に含まれる点で評価します。
y
sol
x
例
y = deval(___,idx) は、ベクトル idx にリストされたインデックスをもつ解の成分のみを返します。前述の入力引数の組み合わせのいずれかを使用できます。
idx
[y,yp] = deval(___) は、ソルバーが生成した数値解の 1 次導関数 yp も返します。
yp
すべて折りたたむ
この例では、dde23 を使用して DDE 方程式 y' = ddex1de(t,y,Z) を解き、解をプロットします。
dde23
y' = ddex1de(t,y,Z)
dde23 を使用して方程式を解きます。
sol = dde23(@ddex1de, [1 0.2], @ddex1hist, [0 5]);
区間 [0 5] 内の 100 の点で解を評価します。
[0 5]
x = linspace(0,5); y = deval(sol,x);
解をプロットします。
plot(x,y)
この例では、ode45 を使用して方程式 y' = vdp1(t,y) を解き、解の最初の成分をプロットします。
ode45
y' = vdp1(t,y)
ode45 を使用して方程式を解きます。
sol = ode45(@vdp1, [0 20], [2 0]);
区間 [0 20] 内の 100 の点で、解の最初の成分を評価します。
[0 20]
x = linspace(0,20,100); y = deval(sol,x,1);
ode23 を使用し、区間 [0,3] で初期条件 y0 = 0 を使用して、単純な ODE である y' = t^2 の解を求めます。
ode23
y0 = 0
y' = t^2
sol = ode23(@(t,y) t^2, [0 3], 0);
7 点で解を評価します。解の構造体 sol には、deval がそれらの点で連続解を生成するために使用する内挿関数が含まれます。deval に 2 番目の出力引数を指定して、指定点における内挿関数の導関数も返します。
deval
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
解の構造体。以下の微分方程式ソルバーのいずれかによって返される構造体として指定します。
初期値問題ソルバー (ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb、ode15i)
ode113
ode15s
ode23s
ode23t
ode23tb
ode15i
遅延微分方程式ソルバー (dde23、ddesd または ddensd)
ddesd
ddensd
境界値問題ソルバー (bvp4c または bvp5c)
bvp4c
bvp5c
例: sol = ode45(@myode,tspan,y0)
sol = ode45(@myode,tspan,y0)
データ型: struct
struct
評価点。ベクトルとして指定します。x は、解の値を求める点を指定します。x の要素は、元の積分区間 [sol.x(1) sol.x(end)] 内に存在しなければなりません。各インデックス i について、解 y(:,i) は x(i) に対応します。
[sol.x(1) sol.x(end)]
i
y(:,i)
x(i)
例: 0:0.1:1
0:0.1:1
例: [2 3 5 8]
[2 3 5 8]
データ型: single | double
single
double
返される解の成分。ベクトルとして指定します。解の特定成分にのみ関心がある場合は、この入力を使用します。
例: y = deval(sol,x,[2 3]) は、解の 2 番目の成分と 3 番目の成分のみを返します。
y = deval(sol,x,[2 3])
内挿された解。ベクトルまたは行列として返されます。y の行数は、返される解の成分の数と等しくなります。
複数の点がある境界値問題の場合、bvp4c または bvp5c で取得される解は、インターフェイスで不連続になることがあります。境界点 xc では、関数 deval は、xc の左右の限界の平均値を返します。限界値を取得するには、x の値を xc よりわずかに大きい値または小さい値に設定します。
xc
sol により生成された連続解の導関数。ベクトルまたは行列として返されます。yp は y と同じサイズであり、y の個々の解の点で sol が使用した内挿関数の傾きを示します。
すべて展開する
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
R2006a より前に導入
ode45 | ode23 | ode113 | ode15s | ode23s | ode23t | ode23tb | ode15i | dde23 | ddesd | ddensd | bvp4c | bvp5c
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ