如何用带边界条件的符号函数求解暗、光场景的连续性方程
4次浏览(最近30天)
显示旧的注释
现在我在研究中遇到了一个问题。我在左边遇到了两个形式相同的ode,但一个是同质的,另一个是非同质的。
这是我的代码:
信谊V_T mu_p F r_mODE1的%常数
信谊N_v phi_3 phi_4 d_j%常数为边界条件
信谊p (x) G (x)% p为空穴密度,G(x)为生成速率
eqn = -V_T * mu_p *差异(p, x, 2) + F * mu_p *差异(p (x) + r_m * p = = 0;%的标志
P_dark = dsolve(eqn)%%否;所以表单是可读的
eqn = -V_T * mu_p *差异(p, x, 2) + F * mu_p *差异(p (x) + r_m * p = = G (x);%的标志
P_ph = dsolve(eqn)
P_ph_int = (P_ph,[350*10^-6 800*10^-6])%需要在波长区间内积分P_ph
P = P_dark+P_ph;
气孔导度= [p (0) = = N_v * exp (-phi_3 / V_T)、p (d_j) = = N_v * exp (-phi_4 / V_T)];
这就是问题所在。我知道如何处理只有P_ph或P_dark的边界。但是现在,边界条件是用于P, P_dark和P_ph的相加。我可以用待定常数求出解但我不能用边界条件求出这样的常数。
P = dsolve(P,cond)
错误信息是
没有发现微分方程。用符号函数指定微分方程。
T = feval(symengine,'symobj::dsolve',sys,x,options);
sol = mupadDsolve(参数,选项);
0评论
接受的答案
沃尔特·罗伯森
2021年7月16日
信谊V_T mu_p F r_mODE1的%常数
信谊N_v phi_3 phi_4 d_j%常数为边界条件
信谊p (x) G (x)% p为空穴密度,G(x)为生成速率
eqn = -V_T * mu_p *差异(p, x, 2) + F * mu_p *差异(p (x) + r_m * p = = 0;%方程式
P_dark(x) = dsolve(eqn)
eqn = -V_T * mu_p *差异(p, x, 2) + F * mu_p *差异(p (x) + r_m * p - g (x) = = 0;%方程在光(你的建议)%标记
P_ph(x) = dsolve(eqn)
new_vars = setdiff(symvar(P_ph(x)), symvar(eqn))
P_total(x) = P_dark+P_ph%应万博 尤文图斯用边界条件的解
eqn1 = P_total(0) == N_v * exp(-phi_3/V_T)%% x=0时P的边界条件
eqn2 = P_total(d_j) == N_v * exp(-phi_4/V_T)P在x=d_j时的边界条件
Eqns = [eqn1;eqn2]
symvar(命令)
S = solve(eqns, new_vars)
struct2cell(S);
New_vars (:) == vertcat(temp{:})