标签: matlab system implicit explicit
在此之前,我不能使用任何内置的ODE求解器。我使用显式欧拉方法对该ODE系统进行编码,但我需要改用隐式欧拉方法对其进行重写。如果我只是将“ i”切换为“ i + 1”(例如将“ y(1,i)”切换为“ y(1,i + 1)”),那么答案就很不正确。
access_token
答案 0 :(得分:0)
您的想法是正确的,但是请记住,如果将右侧的i更改为i+1,您将在{strong>两者上出现y(1,i+1), y(2,i+1), y(3,i+1) 等式的两边。这意味着您实际上必须在每个步骤中求解y(1,i+1), y(2,i+1)和y(3,i+1)。由于三个方程是耦合的,因此必须在每个时间步使用fsolve或fzero来求解非线性方程组。
i
i+1
y(1,i+1), y(2,i+1), y(3,i+1)
y(1,i+1), y(2,i+1)
y(3,i+1)
fsolve
fzero
阅读此question的答案,其中显示了如何在单方程式情况下执行此操作。