# How to solve 2nd ODE equation in numerical and analytical method at same plot graph?

4 views (last 30 days)
Shreyas Sangamesh on 28 Sep 2022
Answered: Sai on 12 Oct 2022
Hello,
I am was looking for help to solve this equation
a. dx/dt = -x
b. dx/dt = -x+1
in Matlab, can I get help to solve this equation of plot the numerical solutions and analytical solutions in the same graph and compare them.
with ode45
can anyone help me with this code?
Torsten on 28 Sep 2022
Edited: Torsten on 28 Sep 2022
a .
dx/dt = - x -> dx/x = -dt -> log(x/x0) = (t0-t) -> x = x0 * exp(t0-t)
b.
dx/dt = -x+1 -> dx/(x-1) = -dt -> log((x-1)/(x0-1)) = t0-t -> x-1 = (x0-1)*exp(t0-t) -> x = 1 + (x0-1)*exp(t0-t)

Sai on 12 Oct 2022
I understand that you are trying to solve the differential equations both numerically and analytically and get the plots on same graph for comparison.
You can use available MATLAB functions “ode45” for numerical approach and “dsolve” for analytical approach.
NOTE: Since the initial conditions are not given, they are assumed
a). dx/dt = -x
%Numerical Method
[t,x] = ode45(@(t,x) -x,[0 20],1)
plot(t,x)
hold on
%Analytical Method
syms x(t)
dx = diff(x)
eqn = dx==-x
x(t) = dsolve(eqn,x(0)==1)
t = 0:20
plot(t,x(t))
hold off
legend("Numerical","Analytical")
b). dx/dt = -x+1
%Numerical Method
[t,x] = ode45(@(t,x) -x+1,[0 20],0)
plot(t,x)
hold on
%Analytical Method
syms x(t)
dx = diff(x)
eqn = dx==-x+1
x(t) = dsolve(eqn,x(0)==0)
t = 0:20
plot(t,x(t))
hold off
legend("Numerical","Analytical")
You can also refer to the below links regarding “ode45” and “dsolve” for future references.