2015-10-11 3 views
-1

дт/дх = х (1.15-0.02x-0.02y) дт/ду = у (1.34-0.02y-0.04x)Matlab с использованием прямого метода Эйлера

T=15; 
dt=1; 
N=floor(T/dt); 
t(1)=1; 
x(1)=21; 
y(1)=20; 

for i=1:N 
x(i+1)=x(i)+dt*x(i)*(1.15-0.02*x(i)-0.02*y(i)); 
y(i+1)=y(i)+dt*y(i)*(1.34-0.02*y(i)-0.04*x(i)); 
t(i+1)=i*dt; 
end 
title('state variable') 
subplot(2,1,1) 
plot(t,x,'r*-') 
subplot(2,1,2) 
plot(t,y,'bo-') 

Используя метод Эйлера вперед It верно?

+0

вернется ли ваш код ожидаемого результата? –

+0

Нет ... Я хочу, чтобы x & y увеличивались, но y уменьшалось – user5433493

ответ

0

Я так думаю, но у Вас есть ошибка в вашем уравнении это Шоуло быть

dx/dt=... 
dy/dt=... 
Смежные вопросы