0
私はPython、numpyとscipyを学んでいます。 パイソンにMathWorks社のMATLAB関数のこのような変換可能である場合、私は不思議だ:Matlab - > scipy ode(complex)関数の翻訳
function [tT, u ] = SSolve5TH(n, t, t0,tf,u_env,utop_init, utop_final,ubottom,te_idx)
options = [];
[tT,u] = ode23s(@SS,t,u_env,options,@B);
function y = B(x)
y = zeros(n,1);
if x >= t(te_idx)
y(1,1) = utop_final;
y(n,1) = ubottom ;
else
y(1,1) = (x - t0)/(tf - t0) * (utop_final - utop_init) + utop_init;
y(n,1) = ubottom ;
end
end
function rp = SS(t,r,B)
global AH
rp = AH * r + B(t);
end
end
は、この例では、n個、例えば15です。
tは時間配列
AH = [15] XT行列で
T0 = 0
TF = 20(たとえば)
u_env = [20,20,20、 20,20,20,20,20,20,20,20,20,20,20,20]
utop_init = 20
utop_final = 40 ; ubottom = 20;
te_idx = 4;
これはおそらく可能です。あなたは何を試しましたか、どのような問題が発生しましたか? –
問題はode stiffの実装から始まります! – marco