Difference between revisions of "Maple/Differential Equations"
(→More Complicated Coupled Example) |
|||
Line 10: | Line 10: | ||
=== Initialization === | === Initialization === | ||
As always, it is a good idea to include the <code>restart</code> command in your worksheet: | As always, it is a good idea to include the <code>restart</code> command in your worksheet: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
restart | restart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 16: | Line 16: | ||
=== Define Equation === | === Define Equation === | ||
In the same way that you were able to assign a linear algebra expression to a variable, you can do the same with a differential equation. The key is to note that the Maple <code>diff</code> command can be used to calculate 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 <code>deqn1</code> with: | In the same way that you were able to assign a linear algebra expression to a variable, you can do the same with a differential equation. The key is to note that the Maple <code>diff</code> command can be used to calculate 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 <code>deqn1</code> with: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
deqn1:=2*diff(y(t), t)+3*y(t)=4 | deqn1:=2*diff(y(t), t)+3*y(t)=4 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 22: | Line 22: | ||
=== Solve Equation === | === 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 <code>dsolve</code> instead of <code>solve</code>, you must continue to use $$y(t)$$ instead of just $$y$$, and you may end up needing to add some initial conditions. The code | 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 <code>dsolve</code> instead of <code>solve</code>, you must continue to use $$y(t)$$ instead of just $$y$$, and you may end up needing to add some initial conditions. The code | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln1:=dsolve([deqn1], [y(t)]) | dsoln1:=dsolve([deqn1], [y(t)]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 29: | Line 29: | ||
=== Initial Condition === | === Initial Condition === | ||
To incorporate initial conditions, you will give the <code>dsolve</code> 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 <code>y(0)=5</code> to the equations: | To incorporate initial conditions, you will give the <code>dsolve</code> 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 <code>y(0)=5</code> to the equations: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln2:=dsolve([deqn1, y(0)=5], [y(t)]) | dsoln2:=dsolve([deqn1, y(0)=5], [y(t)]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 37: | Line 37: | ||
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: | 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: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln3:=dsolve([deqn1, y(6)=7], [y(t)]) | dsoln3:=dsolve([deqn1, y(6)=7], [y(t)]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 46: | Line 46: | ||
=== Making a Plot === | === Making a Plot === | ||
Once you have a solution or set of solutions, you can plot them using subs. For instance, to plot $$y(t)$$ in ''dsoln2'' above (where we set $$y(0)=5$$) you can use: | Once you have a solution or set of solutions, you can plot them using subs. For instance, to plot $$y(t)$$ in ''dsoln2'' above (where we set $$y(0)=5$$) you can use: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
plot(subs(dsoln2, y(t)), t = 0 .. 5) | plot(subs(dsoln2, y(t)), t = 0 .. 5) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 57: | Line 57: | ||
=== Initialization === | === Initialization === | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
restart | restart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Define Equation === | === Define Equation === | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
deqn1 := diff(y(t), t, t) = -g | deqn1 := diff(y(t), t, t) = -g | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 68: | Line 68: | ||
=== Solve Equation / Initial Conditions === | === Solve Equation / Initial Conditions === | ||
Without initial conditions, you can use | Without initial conditions, you can use | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln1 := dsolve([deqn1], [y(t)]) | dsoln1 := dsolve([deqn1], [y(t)]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 74: | Line 74: | ||
You can also put in symbolic initial conditions. To put in a derivative condition, use the format <code>D^n(var)(time)=val</code> to establish a condition for the ''n''th derivative of <code>var</code> at time <code>time</code>. For instance, if you know some initial velocity and position, we can use: | You can also put in symbolic initial conditions. To put in a derivative condition, use the format <code>D^n(var)(time)=val</code> to establish a condition for the ''n''th derivative of <code>var</code> at time <code>time</code>. For instance, if you know some initial velocity and position, we can use: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln2 := dsolve([deqn1, y(0) = y0, D(y)(0) = v0], [y(t)]) | dsoln2 := dsolve([deqn1, y(0) = y0, D(y)(0) = v0], [y(t)]) | ||
</syntaxhighlight>to get:<center><math>\mathit{dsoln2}:=y\! \left(t\right)=-\frac{1}{2} g \,t^{2}+\mathit{v0} t+\mathit{y0}</math></center> | </syntaxhighlight>to get:<center><math>\mathit{dsoln2}:=y\! \left(t\right)=-\frac{1}{2} g \,t^{2}+\mathit{v0} t+\mathit{y0}</math></center> | ||
Line 81: | Line 81: | ||
=== Making a Plot === | === Making a Plot === | ||
Since your answer has symbols, you will need to replace them with numbers before plotting: | Since your answer has symbols, you will need to replace them with numbers before plotting: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
plot(subs(dsoln2, g = 9.81, y0 = 5, v0 = 10, y(t)), t = 0 .. 2) | plot(subs(dsoln2, g = 9.81, y0 = 5, v0 = 10, y(t)), t = 0 .. 2) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 96: | Line 96: | ||
=== Initialization === | === Initialization === | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
restart | restart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Define Equations === | === Define Equations === | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
deqn1 := -vs(t) + L*diff(iL(t), t) + R*iL(t) + vC(t) = 0; | deqn1 := -vs(t) + L*diff(iL(t), t) + R*iL(t) + vC(t) = 0; | ||
deqn2 := iL(t) = C*diff(vC(t), t); | deqn2 := iL(t) = C*diff(vC(t), t); | ||
Line 110: | Line 110: | ||
==== Not Great Version 1 ==== | ==== Not Great Version 1 ==== | ||
If you try | If you try | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln1 := dsolve(deqns, [iL(t), vC(t)]) | dsoln1 := dsolve(deqns, [iL(t), vC(t)]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 128: | Line 128: | ||
==== Not Great Version 2 ==== | ==== Not Great Version 2 ==== | ||
Even if you put in initial conditions with | Even if you put in initial conditions with | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
dsoln2 := dsolve([deqns[], iL(0) = iL0, vC(0) = vC0], [iL(t), vC(t)]) | dsoln2 := dsolve([deqns[], iL(0) = iL0, vC(0) = vC0], [iL(t), vC(t)]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 147: | Line 147: | ||
Instead, what you will want to do is substitute in numerical values first, then get the solution. For second-order and higher systems, the types of responses can include exponentials, sinusoids, exponential sinusoids, and polynomials. Without knowing the relative values of the symbolic components, Maple cannot easily simplify. For this example, assume that we have a 1000 $\Omega$ resistor, a 100 nF capacitor, and a 100 mH inductor with a source that turns on to 5 V at time 0. Further assume that we know that the initial current in the inductor is 1 mA and the initial voltage across the capacitor is -2 V. We can get numerical versions of the equations and use them with the numerical versions of the initial conditions as follows: | Instead, what you will want to do is substitute in numerical values first, then get the solution. For second-order and higher systems, the types of responses can include exponentials, sinusoids, exponential sinusoids, and polynomials. Without knowing the relative values of the symbolic components, Maple cannot easily simplify. For this example, assume that we have a 1000 $\Omega$ resistor, a 100 nF capacitor, and a 100 mH inductor with a source that turns on to 5 V at time 0. Further assume that we know that the initial current in the inductor is 1 mA and the initial voltage across the capacitor is -2 V. We can get numerical versions of the equations and use them with the numerical versions of the initial conditions as follows: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
vals := R = 1000, C = 0.100*10^(-6), L = 0.100, vs(t) = 5; | vals := R = 1000, C = 0.100*10^(-6), L = 0.100, vs(t) = 5; | ||
numdeqns := subs(vals, deqns)[]; | numdeqns := subs(vals, deqns)[]; | ||
Line 164: | Line 164: | ||
</div> | </div> | ||
You can look at a version where Maple does floating point evaluation and rounds things; to see that version, you can type: | You can look at a version where Maple does floating point evaluation and rounds things; to see that version, you can type: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
evalf[4](dsoln3) | evalf[4](dsoln3) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 177: | Line 177: | ||
==== Making Plots ==== | ==== Making Plots ==== | ||
Once you have the numerical solutions, you can make plots: | Once you have the numerical solutions, you can make plots: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=text> |
plot(subs(dsoln3[], iL(t)), t = 0 .. 0.001); | plot(subs(dsoln3[], iL(t)), t = 0 .. 0.001); | ||
plot(subs(dsoln3[], vC(t)), t = 0 .. 0.001) | plot(subs(dsoln3[], vC(t)), t = 0 .. 0.001) | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 14:06, 27 February 2024
Contents
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
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 with Maple as follows:
Initialization
As always, it is a good idea to include the restart
command in your worksheet:
restart
Define Equation
In the same way that you were able to assign a linear algebra expression 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 calculate 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 deqn1
with:
deqn1:=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
dsoln1:=dsolve([deqn1], [y(t)])
will result in a solution of:
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:
dsoln2:=dsolve([deqn1, y(0)=5], [y(t)])
will produce
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:
dsoln3:=dsolve([deqn1, y(6)=7], [y(t)])
will produce
Making a Plot
Once you have a solution or set of solutions, you can plot them using subs. For instance, to plot $$y(t)$$ in dsoln2 above (where we set $$y(0)=5$$) you can use:
plot(subs(dsoln2, y(t)), t = 0 .. 5)
and can of course add other plotting options as needed. Note that dsoln2 is a single equation, not a collection. If you end up getting a collection of results, you may need to de-bracket them.
Second Order Example
Now imagine that you want to solve for $$y(t)$$ in
We can solve this using all symbols or numbers, and we can solve with or without initial conditions.
Initialization
restart
Define Equation
deqn1 := diff(y(t), t, t) = -g
Solve Equation / Initial Conditions
Without initial conditions, you can use
dsoln1 := dsolve([deqn1], [y(t)])
to get:
You can also put in symbolic initial conditions. To put in a derivative condition, use the format D^n(var)(time)=val
to establish a condition for the nth derivative of var
at time time
. For instance, if you know some initial velocity and position, we can use:
dsoln2 := dsolve([deqn1, y(0) = y0, D(y)(0) = v0], [y(t)])
to get:
Making a Plot
Since your answer has symbols, you will need to replace them with numbers before plotting:
plot(subs(dsoln2, g = 9.81, y0 = 5, v0 = 10, y(t)), t = 0 .. 2)
and can of course add other plotting options as needed. Once again, note that dsoln2 is a single equation, not a collection, so there is no need to de-bracket.
More Complicated Coupled Example
For a series RLC circuit with an applied voltage $$v_S(t)$$ across the series network, you can find a coupled set of differential equations using KVL and the model equation for the capacitor, respectively, as:
We can try to solve these symbolically, but the results will not be particularly helpful.
Initialization
restart
Define Equations
deqn1 := -vs(t) + L*diff(iL(t), t) + R*iL(t) + vC(t) = 0;
deqn2 := iL(t) = C*diff(vC(t), t);
deqns := [deqn1, deqn2]
Solve Equation / Initial Conditions
Not Great Version 1
If you try
dsoln1 := dsolve(deqns, [iL(t), vC(t)])
you will get something huge - click "Expand" at right to see it->
\( \mathit{dsoln1}:= \left\{\mathit{iL}\! \left(t\right) = \left(\frac{{\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} C R}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}+\frac{{\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{2 L}\right) \left({\int}\mathit{vS}\! \left(t\right) {\mathrm e}^{\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}{d}t\right)+\left(-\frac{{\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} C R}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}+\frac{{\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{2 L}\right) \left({\int}\mathit{vS}\! \left(t\right) {\mathrm e}^{\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}{d}t\right)+\left(-\frac{C^{2} R^{2}}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}-\frac{R C}{2 L}+\frac{2 C}{\sqrt{C \left(R^{2} C-4 L\right)}}\right) \textit{_}\mathit{C1} {\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}+\left(\frac{C^{2} R^{2}}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}-\frac{R C}{2 L}-\frac{2 C}{\sqrt{C \left(R^{2} C-4 L\right)}}\right) \textit{_}\mathit{C2} {\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}, \\ \mathit{vC}\! \left(t\right)=-\frac{-{\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} \textit{_}\mathit{C2} \sqrt{C \left(R^{2} C-4 L\right)}-{\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} \textit{_}\mathit{C1} \sqrt{C \left(R^{2} C-4 L\right)}+\left({\int}\mathit{vS}\! \left(t\right) {\mathrm e}^{\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}{d}t\right) {\mathrm e}^{-\frac{R t}{L}+\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}-\left({\int}\mathit{vS}\! \left(t\right) {\mathrm e}^{\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}{d}t\right) {\mathrm e}^{-\frac{R t}{L}+\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{\sqrt{C \left(R^{2} C-4 L\right)}}\mathrm{ \\}\right\} \)
Not Great Version 2
Even if you put in initial conditions with
dsoln2 := dsolve([deqns[], iL(0) = iL0, vC(0) = vC0], [iL(t), vC(t)])
you will still get something huge - click "Expand" at right to see it ->
\( \mathit{dsoln2}:= \left\{\mathit{iL}\! \left(t\right) \hiderel{=} \left(\frac{{\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} C R}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}+\frac{{\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{2 L}\right) \left([[:Template:\int]]_{\!\!\!0}^{t}\mathit{vs}\! \left(\textit{\_}\mathit{z1}\right) {\mathrm e}^{\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) \textit{\_}\mathit{z1}}{2 L C}}{d}\textit{\_}\mathit{z1}\right)+\left(-\frac{{\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} C R}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}+\frac{{\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{2 L}\right) \left([[:Template:\int]]_{\!\!\!0}^{t}\mathit{vs}\! \left(\textit{\_}\mathit{z1}\right) {\mathrm e}^{\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) \textit{\_}\mathit{z1}}{2 L C}}{d}\textit{\_}\mathit{z1}\right)-\frac{\left(-\frac{C^{2} R^{2}}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}-\frac{R C}{2 L}+\frac{2 C}{\sqrt{C \left(R^{2} C-4 L\right)}}\right) \left(R C \mathit{vC0}+2 L \mathit{iL0}-\sqrt{R^{2} C^{2}-4 L C}\, \mathit{vC0}\right) \sqrt{R^{2} C^{2}-4 L C}\, {\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{2 C \left(R^{2} C-4 L\right)}+\frac{\left(\frac{C^{2} R^{2}}{2 \sqrt{C \left(R^{2} C-4 L\right)}\, L}-\frac{R C}{2 L}-\frac{2 C}{\sqrt{C \left(R^{2} C-4 L\right)}}\right) \left(R C \mathit{vC0}+2 L \mathit{iL0}+\sqrt{R^{2} C^{2}-4 L C}\, \mathit{vC0}\right) \sqrt{R^{2} C^{2}-4 L C}\, {\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{2 C \left(R^{2} C-4 L\right)}, \\ \mathit{vC}\! \left(t\right)\hiderel{=}\frac{-\frac{{\mathrm e}^{-\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} \left(R C \mathit{vC0}+2 L \mathit{iL0}-\sqrt{R^{2} C^{2}-4 L C}\, \mathit{vC0}\right) \sqrt{R^{2} C^{2}-4 L C}\, \sqrt{C \left(R^{2} C-4 L\right)}}{2 C \left(R^{2} C-4 L\right)}+\frac{{\mathrm e}^{-\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}} \left(R C \mathit{vC0}+2 L \mathit{iL0}+\sqrt{R^{2} C^{2}-4 L C}\, \mathit{vC0}\right) \sqrt{R^{2} C^{2}-4 L C}\, \sqrt{C \left(R^{2} C-4 L\right)}}{2 C \left(R^{2} C-4 L\right)}-\left([[:Template:\int]]_{\!\!\!0}^{t}\mathit{vs}\! \left(\textit{\_}\mathit{z1}\right) {\mathrm e}^{\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) \textit{\_}\mathit{z1}}{2 L C}}{d}\textit{\_}\mathit{z1}\right) {\mathrm e}^{-\frac{R t}{L}+\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}+\left([[:Template:\int]]_{\!\!\!0}^{t}\mathit{vs}\! \left(\textit{\_}\mathit{z1}\right) {\mathrm e}^{\frac{\left(R C-\sqrt{C \left(R^{2} C-4 L\right)}\right) \textit{\_}\mathit{z1}}{2 L C}}{d}\textit{\_}\mathit{z1}\right) {\mathrm e}^{-\frac{R t}{L}+\frac{\left(R C+\sqrt{C \left(R^{2} C-4 L\right)}\right) t}{2 L C}}}{\sqrt{C \left(R^{2} C-4 L\right)}}\mathrm{ \\}\right\} \)
Numerical Version
Instead, what you will want to do is substitute in numerical values first, then get the solution. For second-order and higher systems, the types of responses can include exponentials, sinusoids, exponential sinusoids, and polynomials. Without knowing the relative values of the symbolic components, Maple cannot easily simplify. For this example, assume that we have a 1000 $\Omega$ resistor, a 100 nF capacitor, and a 100 mH inductor with a source that turns on to 5 V at time 0. Further assume that we know that the initial current in the inductor is 1 mA and the initial voltage across the capacitor is -2 V. We can get numerical versions of the equations and use them with the numerical versions of the initial conditions as follows:
vals := R = 1000, C = 0.100*10^(-6), L = 0.100, vs(t) = 5;
numdeqns := subs(vals, deqns)[];
dsoln3 := dsolve([deqnsn, iL(0) = 0.001, vC(0) = -2], [iL(t), vC(t)])
You will get something less...complicated but still not small - click "Expand" at right to see it ->
\( \mathit{dsoln3}:= \left\{\mathit{iL}\! \left(t\right) = \frac{{\mathrm e}^{-5000 t} \left(2 \cos\! \left(5000 t \sqrt{3}\right)+\frac{26 \sqrt{3}\, \sin\left(5000 t \sqrt{3}\right)}{3}\right)}{2000}, \\ \mathit{vC}\! \left(t\right)=5+{\mathrm e}^{-5000 t} \left(-7 \cos\! \left(5000 t \sqrt{3}\right)-\frac{5 \sqrt{3}\, \sin\! \left(5000 t \sqrt{3}\right)}{3}\right)\right\} \)
You can look at a version where Maple does floating point evaluation and rounds things; to see that version, you can type:
evalf[4](dsoln3)
and will see
\( \mathit{iL}\! \left(t\right) = 0.0005000 {\mathrm e}^{- 5000.0 t} \left( 2.0 \cos\! \left( 8660.0 t\right)+ 15.01 \sin\! \left( 8660.0 t\right)\right), \\ \mathit{vC}\! \left(t\right)= 5.0+{\mathrm e}^{- 5000.0 t} \left(- 7.0 \cos\! \left( 8660.0 t\right)- 2.887 \sin\! \left( 8660.0 t\right)\right) \)
Making Plots
Once you have the numerical solutions, you can make plots:
plot(subs(dsoln3[], iL(t)), t = 0 .. 0.001);
plot(subs(dsoln3[], vC(t)), t = 0 .. 0.001)