ODE23s附加参数传递给象征性的雅可比矩阵

1视图(30天)
我路过一个象征性的雅可比矩阵为ODE23s立刻乐趣和我不完全确定如何包含额外的增值,这需要替换成雅可比矩阵初始化的雅可比矩阵。我没有整个代码或函数是一个分段的工作代码。
回调函数宏指令步骤,但没有选择附加参数传递给雅可比矩阵。
问题:我如何通过额外的参数符号var雅可比矩阵的ODE求解器?
(我试图编辑并运行自己的ODE文件但这似乎跳过一两步)。
错误信息:
足够的输入参数。
错误在symengine > @ (t y L_f、theta_h TsubsODE, ki,千瓦,q2_ode, qloss_ode, htm1, mdot_net_ode, Btm1, rho_w, rho_i, delta_t)(-(千瓦。* 1.0. / y ^ 2。* (TsubsODE-theta_h)——(ki。* * rho_w qloss_ode。* (q2_ode-qloss_ode * theta_h)。* 1.0. / (ki + qloss_ode。* (Btm1 + (delta_t * mdot_net_ode)。/ rho_i + (rho_w * (htm1-y))。/ rho_i)) ^ 2)。/ rho_i)。/ (L_f。* rho_w), 0.0)
错误在ode23s(第220行)
dfdy =函数宏指令(江淮、t、y, Jargs {:});
错误在EMM_C_IceCrystalsRunningWet(第384行)
(~,b) = ode23s (@ (t, b) ode45_EMM_fcn_dhdt (t、y、L_f theta_h (pRW) TsubsODE, ki,千瓦,q2_ode, qloss_ode, htm1, mdot_net_ode, Btm1, rho_w, rho_i, delta_t), t + delta_t [t], p0_all, opts2);%内部水层厚度。ode23s (anonmyous t的函数y函数,时间跨度为集成、初始条件(在t0 y0))
代码:
选择= odeset (“RelTol”1的军医,“AbsTol”5的军医,的雅可比矩阵JacobSymEMM (L_f theta_h (pRW) TsubsODE, ki,千瓦,q2_ode, qloss_ode, htm1, mdot_net_ode, Btm1, rho_w, rho_i, delta_t),矢量化的,“上”);
(~ y) = ode23s (@ (t, y) ode45_EMM_fcn_dhdt (t y L_f、theta_h TsubsODE, ki,千瓦,q2_ode, qloss_ode, htm1, mdot_net_ode, Btm1, rho_w, rho_i, delta_t), t + delta_t [t], p0_all,选择);%内部水层厚度。ode23s (anonmyous t的函数y函数,时间跨度为集成、初始条件(在t0 y0))
函数雅各= JacobSymEMM (t y L_f、theta_h TsubsODE, ki,千瓦,q2_ode, qloss_ode, htm1, mdot_net_ode, Btm1, rho_w, rho_i, delta_t)
信谊t y L_f theta_h TsubsODE ki千瓦q2_ode qloss_ode htm1 mdot_net_ode Btm1 rho_w rho_i delta_t
dhdt = (1 / (rho_w。* L_f))。* (- (kw. / y)。* (theta_h-TsubsODE) +吻。* (q2_ode - theta_h。* qloss_ode)。/ (ki + qloss_ode。* (Btm1 + (1 / rho_i)。* mdot_net_ode。* delta_t + (rho_w. / rho_i)。* (htm1 - y))));
JacobianAnal =雅可比矩阵(dhdt [y, t]);
雅各= matlabFunction (JacobianAnal,“var”[t y L_f、theta_h TsubsODE, ki,千瓦,q2_ode, qloss_ode, htm1, mdot_net_ode, Btm1, rho_w, rho_i, delta_t]);
结束
L_f =
334000年
theta_h =
273.1500
TsubsODE =
283.1500
ki =
2.2200
千瓦=
0.6080
q2_ode =
2.0887 e + 05
qloss_ode =
1.0568 e + 03
htm1 =
0
mdot_net_ode =
0.2525
Btm1 =
0
rho_w =
1000年
rho_i =
920年
delta_t =
0.5000

答案(0)

类别

找到更多的在符号数学工具箱帮助中心文件交换

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的