Population Growth Model Development

Research in cell and tissue engineering often involves growing cells in the lab in a dish. Imagine
having a single 120 cm2 dish that has been seeded with 1500 cells/cm2. The dish can only
sustain 9x107 cells. With this seeding of the dish, the maximum that the dish can sustain
(carrying capacity) is reached in about 20-25 days. The growth rate, r, of this cell type is known
to be 0.75 cells per day (𝑏𝑖𝑟𝑡ℎ 𝑟𝑎𝑡𝑒 𝑑𝑒𝑎𝑡ℎ 𝑟𝑎𝑡𝑒).
This cell population follows a logistic population growth model:
𝑑𝑃(𝑡)
𝑑𝑡 = 𝑟𝑃(𝑡)(1 𝑃(𝑡)/𝐾 ),
where P(t) is the size of the population at time, t, K is a constant corresponding to the
saturation level (carrying capacity) and r > 0 is the birth rate.
1. Write a MATLAB script for the numerical solution of this cell population problem
utilizing the Euler differential equation solver as demonstrated in class.

5 Kommentare

Torsten
Torsten am 2 Feb. 2023
It is necessary to show your code so far to get help in this forum.
Maya
Maya am 2 Feb. 2023
%% Problem One
% Research in cell and tissue engineering often involves growing cells in the lab in a dish.
% Imagine having a single 120 cm2 dish that has been seeded with 1500 cells/cm2. The dish can
% only sustain 9x107 cells. With this seeding of the dish, the maximum that the dish can sustain
% (carrying capacity) is reached in about 20-25 days. The growth rate, r, of this cell type is
% known to be 0.75 cells per day (birth rate-death rate).
clear; close all; clc;
%Graph 1: Time in Hours (Derivative)
dt=0.01;
Y0=1;
tlast=700;
iterations=round(tlast/dt);
Yall=zeros(1,iterations);
Y=Y0;
for k=1:iterations
Yall(k)=Y;
dYdt=Y/exp(Y);
Y=dt*dYdt+Y;
end
t=dt*(0:iterations-1);
figure('Color','White')
plot(t,Yall,'r','linewidth',2)
xlabel('Time (hours)','FontSize',14)
ylabel('Population','FontSize',14)
title('Cell Population vs Time','Fontsize',18)
%Graph: P(t)
clear
clc
close all
Torsten
Torsten am 2 Feb. 2023
Bearbeitet: Torsten am 2 Feb. 2023
If a differential equation reads
dy/dt = f(t,y), y(0) = y0
the explicit Euler method approximates the solution as
y(1) = y0; % Initial value at time t(1)
for i = 1:N-1
y(i+1) = y(i) + dt*f(t(i),y(i)) % Compute approximation for the solution at times t(2),t(3),...,t(N)
end
Can you transfer this loop to your problem ?
Maya
Maya am 2 Feb. 2023
I keep trying to input your code, but it consistently gives me a Parse error at '=' and at ')' for line 29 (in my script, line 29 is dy/dt = f(t,y);)
Torsten
Torsten am 2 Feb. 2023
The part you could use is only the lower part of what I posted, not the upper line which is the mathematical problem description.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Denish
Denish am 18 Mai 2024

0 Stimmen

% Years from 1950 to 2020 years = 1950:2020;
% World population data (in billions) population = [2.557 2.768 2.981 3.165 3.333 3.552 3.692 3.842 4.035 4.442 ... 4.853 5.308 5.726 6.114 6.496 6.866 7.346 7.814 8.301 8.827 ... 9.357 9.847 10.325 10.771 11.173 11.515 11.837 12.123 12.374 12.606 ... 12.816 13.021 13.227 13.426 13.621 13.815 14.008 14.197 14.384 14.570 ... 14.756 14.942 15.128 15.315 15.503 15.691 15.879 16.069];
% Plotting plot(years, population, 'LineWidth', 2); title('World Population Over Time'); xlabel('Year'); ylabel('Population (in billions)'); grid on;

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 2 Feb. 2023

Beantwortet:

am 18 Mai 2024

Community Treasure Hunt

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

Start Hunting!

Translated by