特定のシステムについて MATLAB で拡散方程式を解いていますが、得られた 2 番目の解である nsub(r) に問題があります。理想的には、2 つの未定定数を持つ r の関数であり、式の最初の部分は確かにいくつかのベッセル関数ですが、それには ,r, 'IgnoreAnalyticConstraints', true) も含まれている必要があります。この問題を解決する方法と、何がうまくいかないかを知っている人はいますか? これが私のコードです:
clear all
clc
%%%%%% constants %%%%%%%
r_nw=50*10^(-9);
pitch_nw=500*10^(-9);
f_sub=10^18;
f_nw=10^18;
L_nw=100*10^(-6);
%%%%%% diffusion on wire %%%%%
tau_nw=1000*10^(-9);
D_nw=1*10^-9;
lambda_nw=sqrt(D_nw*tau_nw);
%%%%%% diffusion on substrate %%%%%%%
tau_sub=100*10^(-9);
D_sub=1*10^(-9);
lambda_sub=sqrt(D_sub*tau_sub);
%%%%%% diffusion equation on wire %%%%%%%%
syms nw(z)
nw = dsolve(D_nw*diff(nw,z,2) == -f_nw + nw/tau_nw,nw(L_nw)==0);
nw(z)=simplify(nw);
dnw = diff(nw,z);
%%%%%% diffusion equation on substrate %%%%%%
syms nsub(r)
nsub = dsolve(diff(nsub,r,2)+1/r*diff(nsub,r) == -f_sub + nsub/tau_sub);
dnsub = diff(nsub,r);