0

Matlab の微分方程式系を使用して、2 つまたは 3 つのオフィス内の離散時間で熱収支を解きたいと考えています。したがって、次の式を設定します。

C1*(dT1/dt)=U12*A1*(T1(t)-T2(t))+U13*A2*(T1(t)-T3(t))+H1(t);
C2*(dT2/dt)=U21*A1*(T1(t)-T2(t))+U23*A2*(T2(t)-T3(t))+H2(t)

C、U、Aはパラメータで、T3(t)、H1(t)、H2(t)は時間とともに変化する関数です。T1 と T2 を離散時間で計算したい。それに加えて、方程式にサーモスタット制御を含めたいと考えています。

私はすでにこれを解こうとしましたが、1つの方程式だけで線形グラフを得ました。これを設定して解決するために必要な指示や提案を誰かに教えてもらえますか? あなたの助けに本当に感謝します!

ありがとう!

4

1 に答える 1

0

導関数には有限差分を使用します。

dT/dt =~ (T(n) - T(n-1))/(dt)

は時間ステップでT(n)の温度、はサンプル間の時間です。ndt

C1*((T1(n) - T1(n-1))/dt)=U12*A1*(T1(n)-T2(n))+U13*A2*(T1(n)-T3(n))+H1(n)
C2*((T2(n) - T2(n-1))/dt)=U21*A1*(T1(n)-T2(n))+U23*A2*(T2(n)-T3(n))+H2(n)

T1(n)との連立方程式を解くだけT2(n)です。私はsympyを、このような単純だが退屈な代数に使用します。N次に、すべてのパラメーターを初期化し、次のようにステップの方程式をシミュレートします。

function [T1,T2] = simHeatEqns(N)
  dt = ..
  U12 = ..
  .
  .
  .
  % simulate for N steps
  for n=2:N
    T1(n) = (A1*A2*T3(n)*U12*U23*dt^2 - A1*A2*T3(n)*U13*U21*dt^2 + A1*C1*T1(n-1)*U21*dt - A1*C2*T2(n-1)*U12*dt + A1*H1n*U21*dt^2 - A1*H2n*U12*dt^2 + A2^2*T3(n)*U13*U23*dt^2 - A2*C1*T1(n-1)*U23*dt - A2*C2*T3(n)*U13*dt - A2*H1n*U23*dt^2 + C1*C2*T1(n-1) + C2*H1n*dt)/(A1*A2*U12*U23*dt^2 - A1*A2*U13*U21*dt^2 + A1*C1*U21*dt - A1*C2*U12*dt + A2^2*U13*U23*dt^2 - A2*C1*U23*dt - A2*C2*U13*dt + C1*C2)
    T2(n) = (A1*U21*(-A2*T3(n)*U13*dt + C1*T1(n-1) + H1n*dt)/(A1*U12*dt + A2*U13*dt - C1) - (-A2*T3(n)*U23*dt + C2*T2(n-1) + H2n*dt)/dt)/(A1^2*U12*U21*dt/(A1*U12*dt + A2*U13*dt - C1) + (-A1*U21*dt + A2*U23*dt - C2)/dt)
  end
end
于 2013-07-01T14:51:48.423 に答える