用Mathematica绘制微分方程的图形
来源:网络收集 点击: 时间:2024-06-30给出微分方程y(x)+y(x)==1,求其的通解:
DSolveValue + y == 1, y, x]
得到的通解是:c2*sin(x)+c1*cos(x)+1。
显然,通解是不可能作出愁胆图像的!
但是,我们可以对c1、c2赋予不同的值,再用Show+Table,把所作的图放到一起(注意,大写字母C是Mathematica的内部函数,因此,作图的时候,要把C全部换成c):
Show Cos + c Sin, {x, -2 Pi, 2 Pi}],
{c, -1, 1,0.5}, {c, -1, 1, 0.5}]]


畜压随 用NDSolveValue可求出微分方程的数值解(俗称——特解):
NDSolveValue == Cos, y == 0}, y, {x, -5, 5}]
没有给出公式,但是不妨碍作图:
Plot


求二元微分方程组的特解:
{xsol, ysol} =
NDSolveValue == -3 y - x^2,
y == Sqrt x - y^3,
x == y == 1}, {x, y}, {t, 100}]
把结果作为参数方程,来进行作图,这是混沌驼排现象:
ParametricPlot, ysol}, {t, 0, 100}]

用互动效果演示一下上图的作图过程:
Manipulate, ysol}, {t, 0, a}], {a, 0.01, 100}]
Manipulate, ysol}, {t, 0, a}], {a, 0.01, 100,0.1}]
Manipulate, ysol}, {t, 0, a}], {a, 0.01, 10,0.001}]



这个让我想到了著名的“Lorenz吸引子”,需要满足的微分方程组是:
x (t)=-10(x(t)+y(t) )
y (t)=x(t)(-z(t) )+28x(t)-y(t)
z (t)=x(t)y(t)-(8z(t))/3
“Lorenz吸引子”的每一个点由{x(t),y(t),z(t)}确定,t是时间参数。我们先来解出{x(t),y(t),z(t)}当x(0)=z(0)=0,y(0)=1时的数值解:
NDSolve == -10 (x - y),
y == -x z + 28 x - y,
z == x y - (8/3) z,
x == z == 0, y == 1},
{x, y, z}, {t, 0, 200}, MaxSteps - Infinity]

然后在三维空间里,画出它的图像:
ParametricPlot3D, y, z} /. %], {t, 0, 200},
PlotPoints - 50000]

关于微分方程的相关理论十分丰富,这里仅仅是涉及到一点“皮毛”,远远不能解决大多数问题。
以后,再慢慢的深入学习吧!
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_920492.html