How to solve Two coupled ODE problem

hello all,
actually, i have some problem about to solve two coupled ODE that are dependent on each other. if u all have time can u give me some guide about to coding with two coupled equations problem below and plot the graph :-
function dydt = odefun1(t,y,Aq,Bq,Cq,Ay,By,Cy)
A=1;
B=2;
C=1;
D=3;
E=1;
F=1;
h=1;
Aq=y(1);
Bq=y(2);
Ay=y(3);
By=y(4);
dydt = zeros(4,1);
dydt(1) = F*dydt(2)-D*Bq-E*Aq;
dydt(2) = (C*Aq-B*By-h*Ay)/A;
dydt = [dydt(1) ; dydt(2) ];
t_start = 0;
t_end = 10; %final time in seconds.
%time_span =[ t_start t_end];
time_span =t_start:0.09:t_end;
initial_position = 0;
initial_speed = 0;
x0 = [initial_position initial_speed];
[t,y]=ode45(@odefun1,time_span,x0);
plot(t,y(:,1));
hold on;
plot(t,y(:,2));
end
hope u all can answer this question.. thank you in advance. best regards, azam

2 个评论

If y is a 4-element vector, why are you building a dydt vector that has only 2 elements? If dydt(1) depends on dydt(2), why aren't you calculating dydt(2) before you calculate dydt(1)?
Thank you James for your answer,but i'm still having the same problem though. i changed my code as shown below. no error but cannot produce the graph instead. can u guide me with example code. very appreciate if u can answer this.. tq
function dydt = odefun1(t,y,Aq,Bq,Cq,Ay,By,Cy)
A=1;
B=2;
C=1;
D=3;
E=1;
F=1;
h=1;
Aq=y(1);
Bq=y(2);
Ay=y(3);
By=y(4);
dydt = zeros(4,1);
dydt(1) = (C*Aq-B*By-h*Ay)/A;
dydt(2) = F*dydt(1)-D*Bq-E*Aq;
t_start = 0;
t_end = 10; %final time in seconds.
%time_span =[ t_start t_end];
time_span =t_start:0.09:t_end;
initial_position = 0;
initial_speed = 0;
x0 = [initial_position initial_speed];
[t,y]=ode45(@odefun1,time_span,x0);
plot(t,y(:,1));
hold on;
end

请先登录,再进行评论。

回答(1 个)

PUJARI MURAGA
PUJARI MURAGA 2016-11-4
I have solution for you.
Did you got ?

1 个评论

can you share with me what you got.. tq in advance pujari 4 answer this question..

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by