
How can I plot this discrete recursive function?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mike AA
am 4 Mär. 2020
Kommentiert: Mike AA
am 4 Mär. 2020
I wrote a discrete recursive function to model logistic growth. The sole input argument to this function is time. If I pass a single value for time, it will plot it just fine, but if I pass an array of numbers, it will give the following error:
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N) to change the limit. Be aware that exceeding
your available stack space can crash MATLAB and/or your computer.
Here's the function code:
function [ pop] = discrete_logistic( time )
r = 1;
K = 1000;
N0 = 0.1;
if time ==0
pop = N0;
else
pop = discrete_logistic(time-1) + r*discrete_logistic(time-1)*(1-discrete_logistic(time-1)/K);
end
And here's the script which passes time as input:
clear all;
close all;
clc;
t = [1:10];
w = discrete_logistic(t);
plot(t,w,'r*');
shg
I've tried different ways for passing time,
0 Kommentare
Akzeptierte Antwort
KALYAN ACHARJYA
am 4 Mär. 2020
Bearbeitet: KALYAN ACHARJYA
am 4 Mär. 2020
function pop=discrete_logistic(time)
r = 1;
K = 1000;
N0 = 0.1;
if time==0
pop=N0;
else
pop=discrete_logistic(time-1)+r*discrete_logistic(time-1)*(1-discrete_logistic(time-1)/K);
end
Main:
t = [1:10];
for i=1:length(t)
w(i)= discrete_logistic(t(i));
end
plot(t,w,'r*');
shg

3 Kommentare
KALYAN ACHARJYA
am 4 Mär. 2020
It definitely accept the array of data, but what about pop output in the function file.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical 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!