0

ODE システムは完全に機能しています。しかし今、私は各反復で解ベクトルを昇順に並べ替えたいと思っています。私は多くの方法を試しましたが、できませんでした。誰も方法を知っていますか?

簡略化されたコードを次に示します。

function dtemp = tanque1(t,temp)
  for i=1:N
    if i==1
      dtemp(i)=(((-k(i)*At*(temp(i)-temp(i+1)))/(y))-(U*As(i)*(temp(i)-Tamb)))/(ro(i)*vol_nodo*cp(i));
    end
    if i>1 && i<N
      dtemp(i)=(((k(i)*At*(temp(i-1)-temp(i)))/(y))-((k(i)*At*(temp(i)-temp(i+1)))/(y))-(U*As(i)*(temp(i)-Tamb)))/(ro(i)*vol_nodo*cp(i));
    end
    if i==N
      dtemp(i)=(((k(i)*At*(temp(i-1)-temp(i)))/(y))-(U*As(i)*(temp(i)-Tamb)))/(ro(i)*vol_nodo*cp(i));
    end
  end
end

テスト スクリプト:

inicial=343.15*ones(200,1);
[t temp]=ode45(@tanque1,0:360:18000,inicial);
4

1 に答える 1