0% found this document useful (0 votes)
277 views

Solve Differential Equation - MATLAB & Simulink

The document discusses using MATLAB to solve single differential equations analytically. It provides examples of using the dsolve function to solve first-order, second-order, and third-order differential equations, as well as systems of differential equations. Initial conditions can be specified to obtain unique solutions. Both linear and nonlinear differential equations are demonstrated.

Uploaded by

Partha Sengupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
277 views

Solve Differential Equation - MATLAB & Simulink

The document discusses using MATLAB to solve single differential equations analytically. It provides examples of using the dsolve function to solve first-order, second-order, and third-order differential equations, as well as systems of differential equations. Initial conditions can be specified to obtain unique solutions. Both linear and nonlinear differential equations are demonstrated.

Uploaded by

Partha Sengupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

11/4/2019 Solve Differential Equation - MATLAB & Simulink

Solve Differential Equation


Solve a differential equation analytically by using the dsolve function, with or without initial conditions. To solve a
system of differential equations, see Solve a System of Differential Equations.

• First-Order Linear ODE


• Solve Differential Equation with Condition
• Nonlinear Differential Equation with Initial Condition
• Second-Order ODE with Initial Conditions
• Third-Order ODE with Initial Conditions
• More ODE Examples

First-Order Linear ODE


Solve this differential equation.

dy
= ty.
dt

First, represent y by using syms to create the symbolic function y(t).

syms y(t)

Define the equation using == and represent differentiation using the diff function.

ode = diff(y,t) == t*y

ode(t) =
diff(y(t), t) == t*y(t)
Solve the equation using dsolve.

ySol(t) = dsolve(ode)

ySol(t) =
C1*exp(t^2/2)
Solve Differential Equation with Condition
In the previous solution, the constant C1 appears because no condition was specified. Solve the equation with the
initial condition y(0) == 2. The dsolve function finds a value of C1 that satisfies the condition.

cond = y(0) == 2;
ySol(t) = dsolve(ode,cond)

ySol(t) =
2*exp(t^2/2)
If dsolve cannot solve your equation, then try solving the equation numerically. See Solve a Second-Order
Differential Equation Numerically.

Nonlinear Differential Equation with Initial Condition


Solve this nonlinear differential equation with an initial condition. The equation has multiple solutions.
( ) 2
dy
+ y = 1,
dt

( ) = 0.
y 0

syms y(t)
ode = (diff(y,t)+y)^2 == 1;

https://www.mathworks.com/help/symbolic/solve-a-single-differential-equation.html#f1-7567 1/3
11/4/2019 Solve Differential Equation - MATLAB & Simulink

cond = y(0) == 0;
ySol(t) = dsolve(ode,cond)

ySol(t) =
exp(-t) - 1
1 - exp(-t)
Second-Order ODE with Initial Conditions
Solve this second-order differential equation with two initial conditions.
2
d y
2
( ) − y,
= cos 2x
dx

( ) = 1,
y 0

y′(0) = 0.

Define the equation and conditions. The second initial condition involves the first derivative of y. Represent the
derivative by creating the symbolic function Dy = diff(y) and then define the condition using Dy(0)==0.

syms y(x)
Dy = diff(y);

ode = diff(y,x,2) == cos(2*x)-y;


cond1 = y(0) == 1;
cond2 = Dy(0) == 0;

Solve ode for y. Simplify the solution using the simplify function.

conds = [cond1 cond2];


ySol(x) = dsolve(ode,conds);
ySol = simplify(ySol)

ySol(x) =
1 - (8*sin(x/2)^4)/3
Third-Order ODE with Initial Conditions
Solve this third-order differential equation with three initial conditions.
3
d u
= u,
3
dx

( ) = 1,
u 0

( ) = −1,
u′ 0

u (0) = π .
′′

Because the initial conditions contain the first- and second-order derivatives, create two symbolic functions, Du =
diff(u,x) and D2u = diff(u,x,2), to specify the initial conditions.

syms u(x)
Du = diff(u,x);
D2u = diff(u,x,2);

Create the equation and initial conditions, and solve it.

ode = diff(u,x,3) == u;
cond1 = u(0) == 1;
cond2 = Du(0) == -1;
cond3 = D2u(0) == pi;
conds = [cond1 cond2 cond3];

uSol(x) = dsolve(ode,conds)

uSol(x) =
https://www.mathworks.com/help/symbolic/solve-a-single-differential-equation.html#f1-7567 2/3
11/4/2019 Solve Differential Equation - MATLAB & Simulink

(pi*exp(x))/3 - exp(-x/2)*cos((3^(1/2)*x)/2)*(pi/3 - 1) -...


(3^(1/2)*exp(-x/2)*sin((3^(1/2)*x)/2)*(pi + 1))/3
More ODE Examples
This table shows examples of differential equations and their Symbolic Math Toolbox™ syntax. The last example is
the Airy differential equation, whose solution is called the Airy function.

Differential Equation MATLAB® Commands

dy
+ 4y t ()=e −t
,
syms y(t)
dt
ode = diff(y)+4*y == exp(-t);
( ) = 1.
y 0
cond = y(0) == 1;
ySol(t) = dsolve(ode,cond)

ySol(t) =
exp(-t)/3 + (2*exp(-4*t))/3
2
2 d y dy
2x
2
+ 3x − y = 0. syms y(x)
dx dx
ode = 2*x^2*diff(y,x,2)+3*x*diff(y,x)-y == 0;
ySol(x) = dsolve(ode)

ySol(x) =
C2/(3*x) + C3*x^(1/2)
The Airy equation.
2
syms y(x)
d y
2
= xy x . ( ) ode = diff(y,x,2) == x*y;
dx
ySol(x) = dsolve(ode)

ySol(x) =
C1*airy(0,x) + C2*airy(2,x)

See Also
Solve a System of Differential Equations

https://www.mathworks.com/help/symbolic/solve-a-single-differential-equation.html#f1-7567 3/3

You might also like