Storing output into a matrix for plotting

1 次查看(过去 30 天)
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)

采纳的回答

KSSV
KSSV 2020-9-16
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)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by