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);