Is there a better way of solving simultaneous differential

Technical Source
3 min readMar 23, 2022

--

Is there a better way of solving simultaneous differential equations then using dsolve as MATLAB crashes everytime I use it?

So I have a set of simulataneous differential equtions that need to be solved as such:

Ive been using this code but as stated in the title MATLAB crashes is there any better way of doing this:

clear
clc
syms P1(t) P2(t) P3(t) P4(t) P5(t) P6(t) P7(t) P8(t)...
Lam1 Lam2 Lam3 Mu1 Mu2 Mu3
% Typing in all the equations
eqns = ...
[diff(P1,t) == (-Lam1-Lam2-Lam3)*P1 + (Mu1)*P2 + (Mu2)*P3 + (Mu3)*P4,...
diff(P2,t) == (Lam1)*P1 + (-Mu1-Lam2-Lam3)*P2 + (Mu2)*P5 + (Mu3)*P6,...
diff(P3,t) == (Lam2)*P1 + (-Mu2-Lam1-Lam3)*P3 + (Mu1)*P5 + (Mu3)*P7,...
diff(P4,t) == (Lam3)*P1 + (-Mu3-Lam1-Lam2)*P4 + (Mu1)*P6 + (Mu2)*P7,...
diff(P5,t) == (Lam2)*P2 + (Lam1)*P3 + (-Mu1-Mu2-Lam3)*P5 + (Mu3)*P8,...
diff(P6,t) == (Lam3)*P2 + (Lam1)*P4 + (-Mu1-Mu3-Lam2)*P6 + (Mu2)*P8,...
diff(P7,t) == (Lam3)*P3 + (Lam2)*P4 + (-Mu2-Mu3-Lam1)*P7 + (Mu1)*P8,...
diff(P8,t) == (Lam3)*P5 + (Lam2)*P6 + (Lam1)*P7 + (-Mu1-Mu2-Mu3)*P8]
% Solutions Solver
sol = dsolve(eqns, P1(0) == 1, P2(0) == 0, P3(0) == 0, P4(0) == 0,P5(0) == 0, P6(0) == 0,...
P7(0) == 0, P8(0) == 0)
% Printing the Solutions
solP1(t)= sol.P1
solP2(t)= sol.P2
solP3(t)= sol.P3
solP4(t)= sol.P4
solP5(t)= sol.P5
solP6(t)= sol.P6
solP7(t)= sol.P7
solP8(t)= sol.P8

NOTE:-

Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

You have a linear system:

so the solution is going to be the matrix exponential:

that in MATLAB code is:

syms P(t) Lam1 Lam2 Lam3 Mu1 Mu2 Mu3 t A = [ - Lam1 - Lam2 - Lam3,                 Mu1,                 Mu2,                 Mu3,                  0,                  0,                  0,                 0
Lam1, - Lam2 - Lam3 - Mu1, 0, 0, Mu2, Mu3, 0, 0
Lam2, 0, - Lam1 - Lam3 - Mu2, 0, Mu1, 0, Mu3, 0
Lam3, 0, 0, - Lam1 - Lam2 - Mu3, 0, Mu1, Mu2, 0
0, Lam2, Lam1, 0, - Lam3 - Mu1 - Mu2, 0, 0, Mu3
0, Lam3, 0, Lam1, 0, - Lam2 - Mu1 - Mu3, 0, Mu2
0, 0, Lam3, Lam2, 0, 0, - Lam1 - Mu2 - Mu3, Mu1
0, 0, 0, 0, Lam3, Lam2, Lam1, - Mu1 - Mu2 - Mu3];
P = expm(A*t)

SEE COMPLETE ANSWER CLICK THE LINK

--

--

Technical Source
Technical Source

Written by Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

No responses yet