在 MATLAB 中绘制斜率场
Mehak Mubarik
2024年2月15日
包含函数和相应函数的导数的等式方程构成 (ODE) 常微分方程
。
我们使用斜率
字段来阐明我们的微分
方程的概念。我们也称 slope
字段为 direction
字段。
在 MATLAB 中使用 slope_field()
函数绘制一阶普通微分
方程的斜率场
slope_field()
函数包含三个参数。第一个参数是我们正在处理的 f
函数带有 x 和 y 参数的方程
。
第二个参数是我们的 x
参数所在的最小和最大限制。第三个参数是我们的 y
参数所在的最小和最大限制。
这些限制通常称为 x
和 y
域。函数 slope_field()
帮助我们绘制方程的斜率场,同时返回我们场的图形句柄。
假设,我们的差分方程是:
$$
\frac {dy} {dx} = \frac {3y} {1-2x}
$$
我们将 x 的域设置为 [-1,12]
,将 y 设置为 [-4, 5]
。
这意味着我们的函数是 f(x,y) = 3y/(1-2x)
。
f = @(x,y) 3*y/(1-2*x);
figure;
slope_field(f,[-1,12],[-4,5]);
xlabel('$x$','interpreter','latex','fontsize',17);
ylabel('$y$','interpreter','latex','fontsize',17);
title('Slope Field for $\displaystyle\frac{dy}{dx}=\frac{3y}{1-2x}$',...
'interpreter','latex','fontsize',17);
输出:
在这个例子中,我们使用了默认设置的 slope_field()
函数,并可视化了我们想要的微分
方程的斜率场。
在 MATLAB 中使用 quiver()
函数绘制一阶普通微分
方程的斜场
函数 quiver()
包含四个参数:
- X 坐标
- Y 坐标
- 由 U 表示的 X 坐标的方向分量。
- 由 V 表示的 Y 坐标的方向分量。
该函数以箭头形式返回坡度场的图形表示,其坐标为 X 和 Y
,方向分量为 U 和 V
。
假设,我们的微分方程是:
$$
\frac {dx} {dt} = x^5+6xy-3y
$$
$$
\frac {dy} {dt} = -8x+sin\left(2yx\right)
$$
[x,y] = meshgrid(-3:0.1:3);
dx = x.^5+6*x.*y-3*y;
dy = -8*x+sin(2*x.*y);
r = ( dx.^2 + dy.^2 ).^0.5;
px = dx./r;
py = dy./r;
quiver(x,y,px,py);
输出:
作者: Mehak Mubarik
Mehak is an electrical engineer, a technical content writer, a team collaborator and a digital marketing enthusiast. She loves sketching and playing table tennis. Nature is what attracts her the most.
LinkedIn