Storing output into a matrix for plotting

조회 수: 2 (최근 30일)
Dylan Springer
Dylan Springer 2020년 9월 16일
댓글: Dylan Springer 2020년 9월 16일
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