Can someone explain why no plot is showing up?

2 Ansichten (letzte 30 Tage)
Westin Messer
Westin Messer am 11 Dez. 2018
Bearbeitet: madhan ravi am 11 Dez. 2018
Hello,
I wrote this matlab script where I am trying to plot the time 't' vs. the variable 'c' but for some reason no line is showing up. I know there is data for both of these so I'm confused as to what is going on. Can anyone see what I am doing wrong? Thanks!
V_p = 0.9;
k_f = 1.11;
J_er = 0.02;
K_p = 0.1;
gamma = 5.5;
c_t = 2;
p = 0.5;
k1 = 400;
k2 = 0.2;
k3 = 400;
k4 = 0.2;
k5 = 20;
k_1 = 52;
k_2 = 0.21;
k_3 = 377.2;
k_4 = 0.029;
k_5 = 1.64;
K1 = 0.13;
K2 = 1.05;
K3 = 0.943;K4 = 0.145;
K5 = 0.082;
c =0;
c_e=0;
J_serca=0;
P_0=0;
y = 1;
dc=0;
dc_e = 0;
dy = 0;
dt=0.1;
i=0;
for t=0:dt:100;
i = i+1;
J_serca = (V_p*c*c)/(K_p*K_p+c*c);
P_0 = (p*c*(1-y)/((p+K1)*(c+K5)))*(p*c*(1- y)/((p+K1)*(c+K5)))*(p*c*(1-...
y)/((p+K1)*(c+K5)));
c_e = (c_t-c)*gamma;
dc = (k_f*P_0+J_er)*(c_e-c)-J_serca;
dy = (((k_4*K1*K2+k_2*p*K4)*c)/(K4*K2*(p+K1)))*(1-y)-...
((k_2*p+k_4*K3)/(p+K3))*y;
c=c+dc*dt;
y=y+dy*dt;
data(i,1)= t;
data(i,2)= c;
data(i,3)= y;
plot(t,c)
end

Akzeptierte Antwort

madhan ravi
madhan ravi am 11 Dez. 2018
Bearbeitet: madhan ravi am 11 Dez. 2018
EDITED
You don‘t get a plot because your plotting singular points in each iteration and without marker matlab assumes it‘s a line thereby getting empty plot
V_p = 0.9;
k_f = 1.11;
J_er = 0.02;
K_p = 0.1;
gamma = 5.5;
c_t = 2;
p = 0.5;
k1 = 400;
k2 = 0.2;
k3 = 400;
k4 = 0.2;
k5 = 20;
k_1 = 52;
k_2 = 0.21;
k_3 = 377.2;
k_4 = 0.029;
k_5 = 1.64;
K1 = 0.13;
K2 = 1.05;
K3 = 0.943;K4 = 0.145;
K5 = 0.082;
c =0;
c_e=0;
J_serca=0;
P_0=0;
y = 1;
dc=0;
dc_e = 0;
dy = 0;
dt=0.1;
i=0;
for t=0:dt:100;
i = i+1;
J_serca = (V_p*c*c)/(K_p*K_p+c*c);
P_0 = (p*c*(1-y)/((p+K1)*(c+K5)))*(p*c*(1- y)/((p+K1)*(c+K5)))*(p*c*(1-...
y)/((p+K1)*(c+K5)));
c_e = (c_t-c)*gamma;
dc = (k_f*P_0+J_er)*(c_e-c)-J_serca;
dy = (((k_4*K1*K2+k_2*p*K4)*c)/(K4*K2*(p+K1)))*(1-y)-...
((k_2*p+k_4*K3)/(p+K3))*y;
c=c+dc*dt;
y=y+dy*dt;
data(i,1)= t;
data(i,2)= c;
data(i,3)= y;
end
plot(data(:,1),data(:,2),'-k','Linewidth',2)
  2 Kommentare
Westin Messer
Westin Messer am 11 Dez. 2018
Thanks! do you know how I change the marker to just be a line instead of circles?
madhan ravi
madhan ravi am 11 Dez. 2018
Bearbeitet: madhan ravi am 11 Dez. 2018
So just plot outside the loop '-' as marker read https://in.mathworks.com/help/matlab/ref/linespec.html for better understanding of markers
, see edited answer

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Cris LaPierre
Cris LaPierre am 11 Dez. 2018

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by