I want to solve the function
function Change = logisticGrowth( t,Population )
Limit=100;
MaxGrowthRate=0.2;
LossRate=0.02;
Density = Population / Limit;
Loss = Population * LossRate;
Change=Population*MaxGrowthRate*(1-Density)-Loss;
end
with a delay of 5 years using
delay=5;
before=2;
timespan=[0 100];
dde23(@logisticGrowth,delay,before,timespan)
and Matlab tells: "Error using logisticGrowth. Too many input arguments."
I appreciate your hints.

 Réponse acceptée

Heinz_M
Heinz_M le 21 Avr 2016

0 votes

There is a possible solution.
function solution
delay=5;
before=2; % history
timespan=[0, 100];
Limit=100;
MaxGrowthRate=0.2;
LossRate=0.02;
dde_options = ddeset('RelTol',1e-07);
sol=dde23(@logistic,delay,before,timespan,dde_options,Limit,MaxGrowthRate,LossRate);
plot(sol.x,sol.y)
grid on
title('Logistic Growth with delayed impact of density')
xlabel('t')
ylabel('y')
end
function Change = logistic( t,Population,Z,Limit,MaxGrowthRate,LossRate )
Loss = Population * LossRate;
Change=Population*MaxGrowthRate*(1-Z/Limit)-Loss;
end

Plus de réponses (0)

Catégories

En savoir plus sur Data Import and Network Parameters dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by