微分方程
Wolfram 语言可以求解常微分方程、偏微分方程和时滞微分方程 (ODE、PDE 和 DDE).
DSolveValue 接受微分方程并返回通解:
(C[1] 表示积分常数.)In[1]:= |
Out[1]= | ![]() |
用 /. 替换常数:
In[2]:= |
Out[2]= | ![]() |
或为特解加上条件:
In[3]:= |
Out[3]= | ![]() |
Wolfram 语言可以求解常微分方程、偏微分方程和时滞微分方程 (ODE、PDE 和 DDE).
DSolveValue 接受微分方程并返回通解:
(C[1] 表示积分常数.)In[1]:= | ![]()
⨯
sol = DSolveValue[y'[x] + y[x] == x, y[x], x] |
Out[1]= | ![]() |
用 /. 替换常数:
In[2]:= | ![]()
⨯
sol /. C[1] -> 1 |
Out[2]= | ![]() |
或为特解加上条件:
In[3]:= | ![]()
⨯
DSolveValue[{y'[x] + y[x] == x, y[0] == -1}, y[x], x] |
Out[3]= | ![]() |
NDSolveValue 可求出数值解:
In[1]:= | ![]()
⨯
NDSolveValue[{y'[x] == Cos[x^2], y[0] == 0}, y[x], {x, -5, 5}] |
Out[1]= | ![]() |
可直接绘制 InterpolatingFunction:
In[2]:= | ![]()
⨯
Plot[%, {x, -5, 5}] |
Out[2]= | ![]() |
如果想要求解微分方程组,把所有方程和条件都放在列表中:
(注意:换行符没有任何影响.)In[1]:= | ![]()
⨯
{xsol, ysol} = NDSolveValue[ {x'[t] == -y[t] - x[t]^2, y'[t] == 2 x[t] - y[t]^3, x[0] == y[0] == 1}, {x, y}, {t, 20}] |
Out[1]= | ![]() |
用参数图可视化解:
In[2]:= | ![]()
⨯
ParametricPlot[{xsol[t], ysol[t]}, {t, 0, 20}] |
Out[2]= | ![]() |
快速参考:微分方程 »