1
2つの微分方程式を解いて、2つ目の微分方程式の結果をプロットしています。プロットの最大点で値を探したいと思います。しかし、おそらく私がsym
を使用しているので、私はそれを行う方法を考えることに問題があります。私は数学で、あなたは最初の微分を見つけ、それをゼロに設定することを知っています。MATLAB dsolveの式から最大点を求めよう
% Constants
k1 = 1/10;
k2 = 1/1.3;
k3 = 1/1.3;
k4 = 1/(1/48);
k5 = 1/3.9;
t = 1:5;
% Initial concentration
A0 = 5891.694;
B0 = 0;
%%% Mass balance equation 1
syms A(t) t
eqn = diff(A,t) == -k1*A -k2*A -k3*A -k4*A;
cond = A(0) == A0;
A(t) = dsolve(eqn,cond);
% A(t) = exp(-k1*t);
%%% Mass balance equation 2
syms B(t) t
eqn = diff(B,t) == k1*A +k2*A +k3*A +k4*A - k5*B;
cond = B(0) == B0;
B(t) = dsolve(eqn,cond);
%%% Plot
figure('visible','on');
t = 0:20;
plot(t,B(t))
だから、上の写真のために、私は最高のポイントを見つけるしたいと思います。時々、それは正確な時間ステップではないので、MATLABは最大点で正確な値を表示します。
プロットの解像度を上げる必要があります。 20のサンプルポイントはあまり有益ではありません。 't = 0:0.05:20'かそのようなものを設定してください。 – LutzL