I want to plot parameters and time , with influence three others paramaters , but i dont know how to plot

1 view (last 30 days)
i have this matlab code ,
i want to make plotting like this picture
tau vs phi , in my code it is same label , but u from this picture is v from my code . I dont know how to plot tau as function of phi , whre phi is which loss of 10% x[4] in my code, according 0.6 to 0.54, so in interval of phi=[0,250] what time tau get decrease of x[4] from initial value 0.6 to 0.54. with variant of v . thank you
function hdot = glioma0(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr)
% Define the system of ODEs for glioma0
hdot = zeros(7, 1);
v = 0.0;
Phi = 3.3e-3;
H = 0;
if x(6) > 0 || x(7) > 0
H = 1;
end
hdot(1) = Pg * x(1) * (1 - x(1)) - beta1 * x(1) * (x(2) + x(3)) - (d10 + d11 * x(4) + d12 * x(7)) * (x(1) * x(6)) / (a1 + x(1));
hdot(2) = Ps * x(2) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta2 * x(1) * x(2) - u * x(2) * H - v * H * x(2) - (d20 + d21 * x(4) + d22 * x(7)) * x(2) * x(6) / (a2 + x(2));
hdot(3) = Pr * x(3) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta3 * x(1) * x(3) + u * x(2) * H - v * H * x(3);
hdot(4) = mu * (x(2) + x(3)) + pe * x(4) * (1 - x(4)) - d4 * x(4) * x(7) / (a4 + x(4));
if hdot(1) < 0
hdot(5) = alpha * hdot(1) * x(5) - (d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
elseif hdot(1) > 0
hdot(5) = -(d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
end
hdot(6) = Phi - (psi + c1 * x(1) / (a1 + x(1)) + c2 * x(2) / (a2 + x(2)) + c5 * x(5) / (a5 + x(5))) * x(6);
hdot(7) = delta - (gamma + c4 * x(4) / (a4 + x(4))) * x(7);
end
function hdot = glioma01(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr)
% Define the system of ODEs for glioma01
hdot = zeros(7, 1);
v = 0.03;
Phi = 3.3e-3;
H = 0;
if x(6) > 0 || x(7) > 0
H = 1;
end
hdot(1) = Pg * x(1) * (1 - x(1)) - beta1 * x(1) * (x(2) + x(3)) - (d10 + d11 * x(4) + d12 * x(7)) * (x(1) * x(6)) / (a1 + x(1));
hdot(2) = Ps * x(2) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta2 * x(1) * x(2) - u * x(2) * H - v * H * x(2) - (d20 + d21 * x(4) + d22 * x(7)) * x(2) * x(6) / (a2 + x(2));
hdot(3) = Pr * x(3) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta3 * x(1) * x(3) + u * x(2) * H - v * H * x(3);
hdot(4) = mu * (x(2) + x(3)) + pe * x(4) * (1 - x(4)) - d4 * x(4) * x(7) / (a4 + x(4));
if hdot(1) < 0
hdot(5) = alpha * hdot(1) * x(5) - (d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
elseif hdot(1) > 0
hdot(5) = -(d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
end
hdot(6) = Phi - (psi + c1 * x(1) / (a1 + x(1)) + c2 * x(2) / (a2 + x(2)) + c5 * x(5) / (a5 + x(5))) * x(6);
hdot(7) = delta - (gamma + c4 * x(4) / (a4 + x(4))) * x(7);
end
function hdot = glioma1(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr)
% Define the system of ODEs for glioma1
hdot = zeros(7, 1);
v = 0.003;
Phi = 3.3e-3;
H = 0;
if x(6) > 0 || x(7) > 0
H = 1;
end
hdot(1) = Pg * x(1) * (1 - x(1)) - beta1 * x(1) * (x(2) + x(3)) - (d10 + d11 * x(4) + d12 * x(7)) * (x(1) * x(6)) / (a1 + x(1));
hdot(2) = Ps * x(2) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta2 * x(1) * x(2) - u * x(2) * H - v * H * x(2) - (d20 + d21 * x(4) + d22 * x(7)) * x(2) * x(6) / (a2 + x(2));
hdot(3) = Pr * x(3) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta3 * x(1) * x(3) + u * x(2) * H - v * H * x(3);
hdot(4) = mu * (x(2) + x(3)) + pe * x(4) * (1 - x(4)) - d4 * x(4) * x(7) / (a4 + x(4));
if hdot(1) < 0
hdot(5) = alpha * hdot(1) * x(5) - (d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
elseif hdot(1) > 0
hdot(5) = -(d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
end
hdot(6) = Phi - (psi + c1 * x(1) / (a1 + x(1)) + c2 * x(2) / (a2 + x(2)) + c5 * x(5) / (a5 + x(5))) * x(6);
hdot(7) = delta - (gamma + c4 * x(4) / (a4 + x(4))) * x(7);
end
% Initial conditions
x0 = [0.6; 0.6; 0.0; 0.0; 0.6; 0.0; 0.0];
% Time span
t = 0:1:1000;
% Parameters
Pg = 0.0068;
Ps = 0.012;
Pr = 0.002;
pe = 0.002;
beta1 = 1.8e-2;
beta2 = 1.8e-3;
beta3 = 1.8e-3;
d4 = 0.71;
u = 0.01;
a1 = 1;
a2 = 1;
a4 = 1;
a5 = 1;
c1 = 0.0002;
c2 = 0.032;
c4 = 0.032;
c5 = 0.0012;
d10 = 4.7e-8;
d11 = 4.0e-8;
d12 = 3.9e-8;
d20 = 7.8e-2;
d21 = 0.04;
d22 = 7.5;
d50 = 4.7e-3;
d51 = 4.0e-3;
d52 = 3.9e-3;
tau = 0.15;
mu = 0.004;
psi = 0.01813;
delta = 2.4e-4;
gamma = 0.136;
alpha = 2;
% Solve the ODEs for glioma0
[t, y0] = ode45(@(t, x) glioma0(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr), t, x0);
% Solve the ODEs for glioma01
[t, y01] = ode45(@(t, x) glioma01(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr), t, x0);
% Solve the ODEs for glioma1
[t, y1] = ode45(@(t, x) glioma1(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr), t, x0);
% Plot the results
figure;
plot(t, y0(:, 5), 'r', 'LineWidth', 2, 'DisplayName', '\rho=0');
hold on;
plot(t, y1(:, 5), 'b', 'LineWidth', 2, 'DisplayName', '\rho=0.003');
plot(t, y01(:, 5), 'k', 'LineWidth', 2, 'DisplayName', '\rho=0.03');
% Add labels and legend
xlabel('Time (Days)');
ylabel('Concentration of Cell g_4(t)');
legend('Location', 'Best');
title('Glioma Model');
grid on;
hold off;

Answers (1)

Les Beckham
Les Beckham on 14 Nov 2023
Edited: Les Beckham on 15 Nov 2023
Note that, in Matlab, functions must be defined at the end of a script.
Your code seems to run just fine after reordering it.
Can you please explain what isn't working the way you want it to?
This part of your question is very confusing:
tau vs phi , in my code it is same label , but u from this picture is v from my code . I dont know how to plot tau as function of phi , whre phi is which loss of 10% x[4] in my code, according 0.6 to 0.54, so in interval of phi=[0,250] what time tau get decrease of x[4] from initial value 0.6 to 0.54. with variant of v . thank you
% Initial conditions
x0 = [0.6; 0.6; 0.0; 0.0; 0.6; 0.0; 0.0];
% Time span
t = 0:1:1000;
% Parameters
Pg = 0.0068;
Ps = 0.012;
Pr = 0.002;
pe = 0.002;
beta1 = 1.8e-2;
beta2 = 1.8e-3;
beta3 = 1.8e-3;
d4 = 0.71;
u = 0.01;
a1 = 1;
a2 = 1;
a4 = 1;
a5 = 1;
c1 = 0.0002;
c2 = 0.032;
c4 = 0.032;
c5 = 0.0012;
d10 = 4.7e-8;
d11 = 4.0e-8;
d12 = 3.9e-8;
d20 = 7.8e-2;
d21 = 0.04;
d22 = 7.5;
d50 = 4.7e-3;
d51 = 4.0e-3;
d52 = 3.9e-3;
tau = 0.15;
mu = 0.004;
psi = 0.01813;
delta = 2.4e-4;
gamma = 0.136;
alpha = 2;
% Solve the ODEs for glioma0
[t, y0] = ode45(@(t, x) glioma0(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr), t, x0);
% Solve the ODEs for glioma01
[t, y01] = ode45(@(t, x) glioma01(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr), t, x0);
% Solve the ODEs for glioma1
[t, y1] = ode45(@(t, x) glioma1(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr), t, x0);
% Plot the results
figure;
plot(t, y0(:, 5), 'r', 'LineWidth', 2, 'DisplayName', '\rho=0');
hold on;
plot(t, y1(:, 5), 'b', 'LineWidth', 2, 'DisplayName', '\rho=0.003');
plot(t, y01(:, 5), 'k', 'LineWidth', 2, 'DisplayName', '\rho=0.03');
% Add labels and legend
xlabel('Time (Days)');
ylabel('Concentration of Cell g_4(t)');
legend('Location', 'Best');
title('Glioma Model');
grid on;
hold off;
function hdot = glioma0(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr)
% Define the system of ODEs for glioma0
hdot = zeros(7, 1);
v = 0.0;
Phi = 3.3e-3;
H = 0;
if x(6) > 0 || x(7) > 0
H = 1;
end
hdot(1) = Pg * x(1) * (1 - x(1)) - beta1 * x(1) * (x(2) + x(3)) - (d10 + d11 * x(4) + d12 * x(7)) * (x(1) * x(6)) / (a1 + x(1));
hdot(2) = Ps * x(2) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta2 * x(1) * x(2) - u * x(2) * H - v * H * x(2) - (d20 + d21 * x(4) + d22 * x(7)) * x(2) * x(6) / (a2 + x(2));
hdot(3) = Pr * x(3) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta3 * x(1) * x(3) + u * x(2) * H - v * H * x(3);
hdot(4) = mu * (x(2) + x(3)) + pe * x(4) * (1 - x(4)) - d4 * x(4) * x(7) / (a4 + x(4));
if hdot(1) < 0
hdot(5) = alpha * hdot(1) * x(5) - (d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
elseif hdot(1) > 0
hdot(5) = -(d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
end
hdot(6) = Phi - (psi + c1 * x(1) / (a1 + x(1)) + c2 * x(2) / (a2 + x(2)) + c5 * x(5) / (a5 + x(5))) * x(6);
hdot(7) = delta - (gamma + c4 * x(4) / (a4 + x(4))) * x(7);
end
function hdot = glioma01(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr)
% Define the system of ODEs for glioma01
hdot = zeros(7, 1);
v = 0.03;
Phi = 3.3e-3;
H = 0;
if x(6) > 0 || x(7) > 0
H = 1;
end
hdot(1) = Pg * x(1) * (1 - x(1)) - beta1 * x(1) * (x(2) + x(3)) - (d10 + d11 * x(4) + d12 * x(7)) * (x(1) * x(6)) / (a1 + x(1));
hdot(2) = Ps * x(2) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta2 * x(1) * x(2) - u * x(2) * H - v * H * x(2) - (d20 + d21 * x(4) + d22 * x(7)) * x(2) * x(6) / (a2 + x(2));
hdot(3) = Pr * x(3) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta3 * x(1) * x(3) + u * x(2) * H - v * H * x(3);
hdot(4) = mu * (x(2) + x(3)) + pe * x(4) * (1 - x(4)) - d4 * x(4) * x(7) / (a4 + x(4));
if hdot(1) < 0
hdot(5) = alpha * hdot(1) * x(5) - (d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
elseif hdot(1) > 0
hdot(5) = -(d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
end
hdot(6) = Phi - (psi + c1 * x(1) / (a1 + x(1)) + c2 * x(2) / (a2 + x(2)) + c5 * x(5) / (a5 + x(5))) * x(6);
hdot(7) = delta - (gamma + c4 * x(4) / (a4 + x(4))) * x(7);
end
function hdot = glioma1(t, x, Pg, Ps, pe, beta1, beta2, a1, a2, a4, a5, c1, c2, c4, c5, u, d10, d11, d12, d20, d21, d22, d50, d51, d52, d4, tau, mu, beta3, psi, delta, gamma, alpha, Pr)
% Define the system of ODEs for glioma1
hdot = zeros(7, 1);
v = 0.003;
Phi = 3.3e-3;
H = 0;
if x(6) > 0 || x(7) > 0
H = 1;
end
hdot(1) = Pg * x(1) * (1 - x(1)) - beta1 * x(1) * (x(2) + x(3)) - (d10 + d11 * x(4) + d12 * x(7)) * (x(1) * x(6)) / (a1 + x(1));
hdot(2) = Ps * x(2) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta2 * x(1) * x(2) - u * x(2) * H - v * H * x(2) - (d20 + d21 * x(4) + d22 * x(7)) * x(2) * x(6) / (a2 + x(2));
hdot(3) = Pr * x(3) * (1 - (x(2) + x(3)) / (1 + tau * x(4))) - beta3 * x(1) * x(3) + u * x(2) * H - v * H * x(3);
hdot(4) = mu * (x(2) + x(3)) + pe * x(4) * (1 - x(4)) - d4 * x(4) * x(7) / (a4 + x(4));
if hdot(1) < 0
hdot(5) = alpha * hdot(1) * x(5) - (d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
elseif hdot(1) > 0
hdot(5) = -(d50 + d51 * x(4) + d52 * x(7)) * x(5) * x(6) / (a5 + x(5));
end
hdot(6) = Phi - (psi + c1 * x(1) / (a1 + x(1)) + c2 * x(2) / (a2 + x(2)) + c5 * x(5) / (a5 + x(5))) * x(6);
hdot(7) = delta - (gamma + c4 * x(4) / (a4 + x(4))) * x(7);
end
  5 Comments
Latifah
Latifah on 15 Nov 2023
I apologize, 'tau' here is not tau about parameters, think of replacing 'tau' with t=time, and phi=[0-400], so the phi value is plotted with phi=[0-400]
Les Beckham
Les Beckham on 15 Nov 2023
That still doesn't make sense. Where is the code that you are using to try to plot your desired plot? What isn't working? Does the code that you posted have anything to do with what you want to do? Which variables in that code are you wanting to plot? Don't make us guess what you are trying to do.

Sign in to comment.

Categories

Find more on Stochastic Differential Equation (SDE) Models in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!