Make a Plot using loop

1 view (last 30 days)
Gyp
Gyp on 16 Jan 2020
Edited: David on 17 Jan 2020
This is my code. I have to use loop, even when i dont needed to get the results. But, i have problems with the graph. I tried in different ways and the graph goes blank.I put the plot command inside the loop and out of the loop. Use other variables, use the "figure" command and nothing. If I do not use "loop" the graph goes out. But as I mentioned, I have to use the command as part of the course.
%Dg-dosage administrated(mg).
%Va-volume of distribution(L).
%Ke-absorption rate constant (h^-1).
%Ka-elimination rate constant (h^-1).
%t-time(h)since the drug was administered.
Dg=150; %mg
Vd=50; %L
Ke=0.4; %h^-1
Ka=1.6; %h^-1
for t=0:0.1:10;
disp('t= ')
disp (t)
Cp=(Dg/Vd)*(Ka/(Ka-Ke))*(exp(-Ke*t)-exp(-Ka*t));
fprintf('Cp=%g\n',Cp)
end
figure (1)
plot (t,Cp)
title ('Drug Concentration versus Time','FontName', 'Times New Roman', 'FontSize', 16)
xlabel ('time (t) ','FontName', 'Times New Roman', 'FontSize', 14)
ylabel ('Concentration (Cp) ','FontName', 'Times New Roman', 'FontSize', 14)
grid on

Accepted Answer

Star Strider
Star Strider on 16 Jan 2020
Subscript ‘Cp’ and the plot magically appears!
Dg=150; %mg
Vd=50; %L
Ke=0.4; %h^-1
Ka=1.6; %h^-1
t=0:0.1:10;
for k = 1:numel(t)
disp('t= ')
disp (t(k))
Cp(k)=(Dg/Vd)*(Ka/(Ka-Ke))*(exp(-Ke*t(k))-exp(-Ka*t(k)));
fprintf('Cp=%g\n',Cp(k))
end
figure (1)
plot (t,Cp)
title ('Drug Concentration versus Time','FontName', 'Times New Roman', 'FontSize', 16)
xlabel ('time (t) ','FontName', 'Times New Roman', 'FontSize', 14)
ylabel ('Concentration (Cp) ','FontName', 'Times New Roman', 'FontSize', 14)
grid on
  6 Comments
Gyp
Gyp on 16 Jan 2020
Thank you very much for the teaching.
Star Strider
Star Strider on 16 Jan 2020
As always, my pleasure!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!