MATLAB Answers

0

Simultaneously numerically integrate multiple ODE's in MATLAB

Asked by Rong Song on 5 Oct 2019
Latest activity Answered by Pavel Osipov on 6 Oct 2019
I was trying to solve a system of muptiple ODEODE at the same time in Matlab but wasn't sure how should I solve for that.
So if I have
dy1/dx=sum of yi , i from 1 to j
dy2/dx=y1^2-y2*sum of yi, i from 1 to j
dy3/dx=y1*y2+y2^2- y3*sum of yi, i from 1 to j
and given initial condition that y1(0)=1 other yi=0 (i>1)
Could anyone have me with this please? Thank you!

  2 Comments

Show your attempts
K=10;
% Initial Conditio
for k=1:K
if k==1
yi(k)=1;
else
yi(k)=0;
end
end
b=0;
d=20;
% y include y1 y2 y3 y4...to yK
y=zeros(1,100);
for k=1:K
if k==1
y=e(k);
dydd{k}=@(y,t) -y(k)*sum(y);
else
y=e(k);
for j=1:k-1
b=b+y(j)*y(k-j);
end
dydd{k}=@(y,t) 1/(2*y(k))*b-y(k)*sum(y);
end
end
interval=linspace(0,d,100);
[t,y]=ode45(dydd,interval,yi);

Sign in to comment.

2 Answers

Answer by Pavel Osipov on 5 Oct 2019

"I was trying to solve a system of multiple orders at the same time in Matlab but wasn't sure how should I solve for that". "is that right?"
Then imagine the left part as a system of equations of the 1st order and solve in Matlab in vector form. Good luck!

  1 Comment

Do you mean treat the y1 y2... yi as a vector ? But ode45 doesn't allow me to integrate a vector.

Sign in to comment.


Answer by Pavel Osipov on 6 Oct 2019

ode45.PNG
odefun.PNG

  0 Comments

Sign in to comment.