improved Euler integration scheme (possible code error) in matlab
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have this ex:
dx/dt = −x(1 − y), t0 = 0, x(t0) = 0.5, (3)
dy/dt = y(1 − x), t0 = 0, y(t0) = 2 (4)
These equations are also known as Lotka-Volterra or predator-prey equations modeling evolution of species as a function of time t. In the equations above variable x stands for the number of predators, and y is the number of prey.
Let [0, 40] be the interval of integration.
Please implement improved Euler integration scheme with ∆ = 0.001, ∆ = 0.002, and
∆ = 0.005 (2) for (3) and (4). Plot the values of x(t), y(t) for t ∈ [0, 40] in the xy plane.
I have written this so far but i get an error (line 32) about ''='' . I have also tried to write it as ''=='' but it still does not work
Could someone help me?
function [x_out,y_out,t_out]=improved_euler_CS(Delta_in,T0,T)
% setting up parameters of the integration
t_max=T;
t_min=T0;
Delta=Delta_in;
% defining initial conditions
t=t_min:Delta:t_max;
% reserving space for y
x=zeros(1,size(t,2));
y=zeros(1,size(t,2));
% defining initial conditions
z=zeros(1,2);
z(1)=0.5; % this is the initial condition for x
z(2)=2; % this is the initial condition for y
for i=1:size(t,2)
x(i)=z(1);
y(i)=z(2);
z1=competing_species_rhs(z);
z2=competing_species_rhs(z+Delta*z1);
z=z+Delta*(z1+z2)/2;
end;
% returning the values of x,y, and t back to MATLAB?s environment
t_out=t;
x_out=x;
y_out=y;
where the function competing species rhs is defined as
function z_out=competing_species_rhs(z)
%create a vector for storing the results;
p=zeros(1,2);
%z(1) is supposed to store the values of x
%z(2) is supposed to store the values of y
p(1) = (-z(1)*(1=(z(2))));
p(2) = z(2)*(1=(z(1)));
z_out=p;
end
end
0 Kommentare
Antworten (1)
Fabio Freschi
am 20 Feb. 2020
I think it should be "-"
p(1) = (-z(1)*(1-(z(2))));
p(2) = z(2)*(1-(z(1)));
0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!