Storing output into a matrix for plotting
2 views (last 30 days)
Show older comments
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)
0 Comments
Accepted Answer
KSSV
on 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)
More Answers (0)
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!