How To Plot Directional Field of 2nd Order Differential Equation IVP

11 次查看(过去 30 天)
Hello,
I have the second order differential equation initial value problem, y'' + 2y' + y = 0, y(-1) = 0, y'(0) = 0.
In MATLAB, I need to plot the directional field of the solution to the equation without the initial conditions.
I have used the meshgrid() command so far and know that I have to use the quiver() command but I don't know how to enter what I need as parameters to plot the solution.
Here is what I have so far...
% Finds solution to the DE
syms y(x)
Dy = diff(y);
D2y = diff(y,2);
ode = D2y + 2*Dy + y == 0;
ySol = dsolve(ode)
% Sets up directional field
[x,y]=meshgrid(-3:0.3:3,-2:0.3:2);
quiver() %Not sure what to include here.
Any help is appreciated!

采纳的回答

Sam Chak
Sam Chak 2022-4-11
编辑:Sam Chak 2022-4-11
Basically, it should look something like this:
[X, Y] = meshgrid(-3:6/14:3, -3:6/14:3);
U = Y; % x1' = y'
V = - 2*Y - X; % x2' = y'' = - 2*y' - y
quiver(X, Y, U, V)
% quiver(X, Y, U, V, 1.5) % can adjust arrow size
xlabel('x')
ylabel('y')
  3 个评论
Sam Chak
Sam Chak 2022-4-11
编辑:Sam Chak 2022-4-11
Well, the ODE can be rewritten in the form of a state-space representation.
Begin by defining
Taking the time derivative yields
.
Rewritting the dynamics in system states
.
Back to quiver function, this quiver(X, Y, U, V) command plots arrows with directional components U and V at the Cartesian coordinates specified by the grid of X and Y values.
The directional components U and V mean the motion of the the point that extends horizontally according to U vector, and extends vertically according to V vector. Naturally, these imply the first-order equations. So, if we assign
then
.
Hope this explanation is helpful for you to plot the direction field of the desired ODEs.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by