Subplot error from two matrices
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
James Wilson
am 23 Apr. 2021
Bearbeitet: DGM
am 23 Apr. 2021
I am trying to create a 4x2 subplot to show two functions on one subplot throughout the code, I copyed & pasted the code from the first line after I got it working, but I recieve the error: "Error in Generator (line 53) plot(x, usage(2:24), 'b', x, P_Energy(2:24), 'g');
I am pulling the information from plot from two 24x7 matrices.
Code:
P_Energy = Pan*Energy_WeatherAffect;
x = [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24];
figure
subplot(4,2,1);
plot(x, usage(1:24), 'b', x, P_Energy(1:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 1 Produced vs. Used')
subplot(4,2,2);
plot(x, usage(2:24), 'b', x, P_Energy(2:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 2 Produced vs. Used')
subplot(4,2,3);
plot(x, usage(3:24), 'b', x, P_Energy(3:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 3 Produced vs. Used')
subplot(4,2,4);
plot(x, usage(4:24), 'b', x, P_Energy(4:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 4 Produced vs. Used')
subplot(4,2,5);
plot(x, usage(5:24), 'b', x, P_Energy(5:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 5 Produced vs. Used')
subplot(4,2,6);
plot(x, usage(6:24), 'b', x, P_Energy(6:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 6 Produced vs. Used')
subplot(4,2,7);
plot(x, usage(7:24), 'b', x, P_Energy(7:24), 'g');
xlabel('Hour')
ylabel('Energy Produced')
grid on
title('Day 1 Produced vs. Used')
legend('green solid is Energy Produced', 'blue solid is Energy Used')
1 Kommentar
DGM
am 23 Apr. 2021
Bearbeitet: DGM
am 23 Apr. 2021
You're plotting
usage(2:24) % 23 element vector
against
x % 24 element vector
I don't think that's what you want to do. You said your arrays are 24x7, and you're plotting daily usage, so maybe you want to be plotting usage(:,2) vs x and usage(:,3) vs x, and so on.
When you do usage(1:24), it does work, but only accidentally. In this syntax, you're doing a linear index into the array instead of using two subscripts. Linear indices operate columnwise, so you're implicitly selecting the first column. It's just a coincidence that that's correct for your needs in this one case.
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical 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!