(Index i[z])
j = i[z[h]];
(*ISA model*)
out = T0[[j]] + Lstd[[j]]/1000 (z[h] - zstd[[j]]);
Return[out];
]
Pstd[h_] := Module[
{Lstd, zstd, T0, pb, j, out},
(*Coefficients definitions*)
Lstd = {-6.5, 0., 1., 2.8, 0, -2.8, 0};
zstd = {0., 11000., 20000., 32000., 47000., 51000, 80000};
T0 = {288.15, 216.65, 216.65, 228.65, 270.65, 270.65, 192.247};
pb = {101325, 22694, 5544.63, 900.192, 120.096, 76.3148, 1.17443};
(*Index i[z]*)
j = i[z[h]];
(*ISA model*)
out = If[Lstd[[j]] == 0,
pb[[j]] Exp[-g0/(R*T0[[j]]) (z[h] - zstd[[j]])],
pb[[j]] (1 + Lstd[[j]]/(T0[[j]]*1000) (z[h] - zstd[[j]]))^(-(g0/(
Lstd[[j]]*0.287)))];
Return[out];
]
\[Rho]std[h_] := Module[
{out},
out = Pstd[h]/(R*Tstd[h]);
Return[out];
]
NDSolve[{V'[t] == -0.5* \[Rho]std[h[t]]*(V[t])^2 ((Cd*S)/m) +
g[h[t]] Cos[\[Theta][t]],
\[Theta]'[t] == -0.5*\[Rho]std[h[t]]*V[t] ((Cl*S)/m) + (
g[h[t]]*Sin[\[Theta][t]])/V[t] - V[t]/(Rt + h[t]) Cos[\[Theta][t]],
h'[t] == -V[t]*Sin[\[Theta][t]],
V[0] == 11140,
\[Theta][0] == 6.92,
h[0] == 120*10^3
}, {V, \[Theta], h}, {t, 0, 7200}]
I know the problem is that I can’t provide a numerical value to \[Rho]std[h[t]] inside Ndsolve. Advices?