Maple/Differential Equations

From PrattWiki
Revision as of 22:01, 26 February 2024 by DukeEgr93 (talk | contribs) (Created page with " == Introduction == This page focuses on using Maple to find both the symbolic and the numeric solutions to differential equations obtained from electric circuits. '''''Note:...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

This page focuses on using Maple to find both the symbolic and the numeric solutions to differential equations obtained from electric circuits.

Note: There is a...decidedly more complicated explanation of these things at Maple/Differential Equations/Old; the goal for Spring 2024 and beyond is to keep things simpler.

Very Basic Example

The example code below sets up and solves a simple differential equation. If you want to follow along, the code is in the dsolve_1 notebook in the Basic Dsolve Google Drive folder.

Imagine you have the equation $$2\frac{dy(t)}{dt} + 3 y(t) = 4$$ with the initial condition $$y(0)=5$$, and you want to solve for $$y(t)$$. You can do this in SymPy as follows:

Initialization

As always, it is a good idea to include the restart command in your worksheet:

restart

as well.

Define Equation

In the same way that you were able to assign linear algebra expressions to a variable, you can do the same with a differential equation. The key is to note that the Maple diff command can be used to take take or represent a derivative. You will need to explicitly let Maple know that your variable is a function (in our case, a function of $$t$$) by including that parameter with the variable. Given that, you can store the differential equation in a variable called eqn with:

eqn1:=2*diff(y(t), t)+3*y(t)=4

Solve Equation

Solving a system of differential equations is also similar to solving a system of linear algebra equations - the main differences are that you will use dsolve instead of solve, you must continue to use $$y(t)$$ instead of just $$y$$, and you may end up needing to add some initial conditions. The code

soln:=dsolve([eqn1], [y(t)])

will result in a solution of:

\(\mathit{soln}:=\left\{y\! \left(t\right)=\frac{4}{3}+{\mathrm e}^{-\frac{3 t}{2}} \textit{_}\mathit{C1}\right\}\)

Initial Condition

To incorporate initial conditions, you will give the dsolve command information about the value of the variable (or, for higher order differential equations, the value and values of the derivatives of the variable). For example, to solve our sample equation with $$y(0)=5$$, you will include the initial condition by adding y(0)=5 to the equations:

soln:=dsolve([eqn1, y(0)=5], [y(t)])

will produce

\( \mathit{soln}:=y\! \left(t\right)=\frac{4}{3}+\frac{11 {\mathrm e}^{-\frac{3 t}{2}}}{3} \)

Note that the initial condition does not have to be at time 0; if you know that $$y(6)=7$$, you can use that as well:

soln:=dsolve([eqn1, y(6)=7], [y(t)])

will produce

\( \mathit{soln}:=y\! \left(t\right)=\frac{4}{3}+\frac{17 {\mathrm e}^{-\frac{3 t}{2}}}{3} \)