How to run a loop for multiple variations of a variable.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Westin Messer
am 22 Okt. 2018
Bearbeitet: Matt J
am 22 Okt. 2018
Hello, I'm new to MATLAB and coding and I'm trying to vary the parameter 'p' from 0 to 3 in incriminates of 1 inside the loop which should give me three different sets of data for the v_d equation but I can't get it to work. Can anyone see what I am doing wrong? Thanks!
e=0.01; k=4; a=0.1; p = 0:1:3;
i = 0.001;
u=zeros(100000,1);
v=zeros(100000,1);
v_d=zeros(100000,1);
t=zeros(100000,1);
% Initial conditions:
u(1)=0.6;
v(1)=0.0;
v_d(1)=0.0;
t(1)=0;
dt=0.001;
for i=1:1:50000
t(i+1)=t(i)+dt;
u(i+1) = u(i)+ dt*((1/e)*((k*u(i)*(u(i)-a)*(1-u(i)))-v(i)));
v(i+1) = v(i)+ dt*(u(i)-v(i));
v_d(i+1) = v_d(i)+ dt*(u(i)-p*v_d(i));
end
1 Kommentar
Matt J
am 22 Okt. 2018
which should give me three different sets of data for the v_d equation
Don't you mean 4 different sets: 0,1,2,3
Akzeptierte Antwort
Matt J
am 22 Okt. 2018
v_d=zeros(50000,4); %<--change
t(1)=0;
dt=0.001;
for i=1:1:50000
t(i+1)=t(i)+dt;
u(i+1) = u(i)+ dt*((1/e)*((k*u(i)*(u(i)-a)*(1-u(i)))-v(i)));
v(i+1) = v(i)+ dt*(u(i)-v(i));
v_d(i+1,:) = v_d(i,:)+ dt*(u(i)-p.*v_d(i,:)); %<--change
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!