Storing output into a matrix for plotting

1 vue (au cours des 30 derniers jours)
Dylan Springer
Dylan Springer le 16 Sep 2020
Commenté : Dylan Springer le 16 Sep 2020
Hello, My graph is showing up but its only plotting the last value. I understand that the vals variable is only storing the last output and that is why but how do I get it to store the value into a matrix after each run through the loop without overwriting. I need the output to be a graph of rho vs average revenue.
N = 5000;
Rmax = 50;
total_revenues = zeros(length(N),1);
charge_eff = 0.8;
discharge_eff = 0.8;
vals = [];
for rho = (0.1:0.1:3)
for n = 1:N
R = zeros(24,1);
x = zeros(24,1);
P_d = zeros(24,1); P_d(1) = 50;
P_s = zeros(25,1);
W = zeros(25,1);
revenues = zeros(24,1);
for t = 1:24
... (code to get answer)
end
total_revenues(n) = sum(revenues);
end
rho
avgrev = mean(total_revenues)
vals = [rho avgrev];
end
plot (vals)

Réponse acceptée

KSSV
KSSV le 16 Sep 2020
I expect rho is bein gused in the lines which are not shown...so repalce rho inside the loop with rho(i).
N = 5000;
Rmax = 50;
total_revenues = zeros(length(N),1);
charge_eff = 0.8;
discharge_eff = 0.8;
vals = zeros([],1);
rho = (0.1:0.1:3) ;
for i = 1:length(rho)
for n = 1:N
R = zeros(24,1);
x = zeros(24,1);
P_d = zeros(24,1); P_d(1) = 50;
P_s = zeros(25,1);
W = zeros(25,1);
revenues = zeros(24,1);
for t = 1:24
... (code to get answer)
end
total_revenues(n) = sum(revenues);
end
rho(i)
avgrev = mean(total_revenues)
vals(i) = avgrev;
end
plot (rho,vals)
  1 commentaire
Dylan Springer
Dylan Springer le 16 Sep 2020
Thank you so much! this fixed it!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graph and Network Algorithms dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by