I want to plot parameters and time , with influence three others paramaters , but i dont know how to plot
    7 views (last 30 days)
  
       Show older comments
    
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;
0 Comments
Answers (1)
  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
  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.
See Also
Categories
				Find more on Neural Simulation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

