On 20 Jan., 23:47, "Paulo " <biom...@yahoo.com.br> wrote: > Hello! > > I've been trying a few days by now to plot a bifurcation diagram using ODE45, but althought the logic seems correct I could not do it nor find what Iam missing, please help ! > > I'm using two files: > > - The firs m file calls the Ode 45: > > ci=[8 2]; > tspan=[0 1500]; > [t,y] = ode45(@pfunction, tspan, ci); > > - The second m file defines the functions, and has a loop for r1 to plot against y(1), trying for the bifurcations plot: > > function [yout] = pfunction(t,y) > > K1=50; ;Th1=1;a1=.04; > q=0.02; > > for r1=1.8:0.005:2.5 > FC11=(1-(y(1)/K1)); %logistic function for prey > RF161=(a1*y(1)/(1+a1*Th1*y(1))); > > %__________________________________________________________ > % PREDADOR 6 - y(6) > c61=0.1; > > FC6=(c61*RF161); > > %_________________________________________________________ > > yout = [r1 * y(1) * ((FC11))- (y(2)*RF161); > > FC6 * y(2) - q*y(2);]; > > plot(r1,y(1)) > hold on > end > ______________- > > Thank you very much! > > regards, > Paulo.
You must not loop over r1 in pfunction, but in the calling program for ODE45.
ci=[8 2]; tspan=[0 1500]; For r1=1.8:0.005:2.5 [t,y] = ode45(@(t,y)pfunction(t,y,r1), tspan, ci); % Save solution for r1 end