I'm having trouble plotting a population vs time model; I keep getting the error "vectors must be the same length." I need my x-axis to show population from 1804-2300, but I had to use 1-496 as my time values in the code. I think linspace needs to come into play somewhere, but it doesn't seem to be working. Note: there very well may be other issues in my code. Thanks in advance for your help!
%Variable key
%t is the number of years the model runs, from 1804-2300.
t = [1:496]%r is the population growth rate.
r = 0.01%K is the human carrying capacity in billions of people.
K = 10%P0 is the human population in billions at the time the model begins.
P1 = 1%A is the
A = (K-P1)/P1%P is the human population in the model in billions of people.
P = (K)./(1+A*exp(-r*t))%Let 1804, the year the model begins, equal year 1.
t(1) = 1%Loop ensures that the the population data cycles through the model for every year and stops 496 years after the model begins, at 2300.
for i = 1:496 if t(i) <= 496 % Population growth (pop_g)
r = 0.01; else break end %If-else clause takes into account the human carrying capacity of 10 billion by lowering the growth rate after the carrying capacity is reached.
if P <=10 r = 0.01 else r = .008 end %Calculate the next year of population growth using the population that was just aquired.
P(i+1) = (r*P(i)) + P(i)end%Plot the population model data.
figure hold on t = linspace(1804,2300) plot (t,P) title ('Model Population Test Graph') legend ('Model Population') xlabel ('Years') ylabel ('Population') grid on
Best Answer