我有兴趣使用线法求解以下一维平流方程。
空间域已被离散化为 N 个节点。使用前向差分对空间域进行离散化给出,
在第 N 个节点,应用 Neumann 边界条件
暗示,
但是,以下系统不会收敛。我不确定上述程序是否正确。
function convection()
global v;
N= 5;
C0 = [5 0 0 0 0];
v = 10000;
delx = 6;
tspan = [0 10];
[t C] = ode15s(@(t,s) fun(t,s), tspan , C0);
plot(t,C)
function dC= fun(t,C)
for i = 1:nnode-1
dC(i,1) = -v*(C(i+1) - C(i))/delx;
end
dC(nnode,1) = 0;
end
end
我想知道是否必须在两端应用边界条件。我只在终端节点使用了 Neumann BC。