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.

 채택된 답변

Heinz_M
Heinz_M 2016년 4월 21일

0 개 추천

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Import and Network Parameters에 대해 자세히 알아보기

제품

태그

질문:

2016년 4월 14일

답변:

2016년 4월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by