10 views (last 30 days)

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

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

Star Strider
on 16 Jan 2020

Again, subscripting it (this time using ‘t’ as the loop index, since it has only integer values here) is necessary:

Dg=150; %mg

Vd=50; %L

Ke=0.4; %h^-1

Ka=1.6; %h^-1

t=1;

tv(t) = t;

Cp(t)=0;

while t<=10

t= t + 1;

tv(t) = t;

Cp(t)=(Dg/Vd)*(Ka/(Ka-Ke))*(exp(-Ke*t)-exp(-Ka*t));

end

fprintf('Cp=%g\n',Cp)

figure (1)

plot (tv,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

I created a new variable ‘tv’ to hold the elements of ‘t’, and put the fprintf call after the loop, so it will print all the values of ‘Cp’.

Sign in to comment.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.