Plot with loop work only for the last
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ferial Assmani
am 29 Mär. 2016
Kommentiert: Ferial Assmani
am 1 Apr. 2016
Dear all, on a loop (i=1:Nbr_Position) I get only the last plot
V_Time = [1, 2, 3]; % Time Vector fixe length
%
V_Data = 1:1:12; % Data Vector
Nbr_Position = 2; % Nbr of position
Nbr_Case = 2; % Nbr of cases
%
N_Rows= length(V_Time); % Nbr of rows for matrix
N_columns= length(V_Data)/N_Rows; % Nbr of columns for matrix
M_Brut= (reshape(V_Data,[N_Rows,N_columns])); % Brut matrix from Data Vector
%
%
for i=1:Nbr_Position % loop by position
M_Nett{i} = M_Brut(:,(i):(Nbr_Position):(end)); % Nett matrix
for j=1:Nbr_Case % loop by case
plot(V_Time,M_Nett{i}(:,1:j)') % plot pair
title(['Position N°: ' num2str(i)]) % title
legend(genvarname(repmat({'Case'},1,j),'Case')) % legend
end
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/159336/image.gif)
Why i cannot get the plot for i = 1 and i = 2 ?????
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Ced
am 29 Mär. 2016
The matlab documentation is really good for that:
You need to:
a) open a new figure in each iteration of i
b) Keep the old lines as Azzi Abdelmalek pointed out.
for i=1:Nbr_Position % loop by position
%%OPEN NEW FIGURE WINDOW HERE
%%MAKE SURE OLD LINES ARE KEPT (see Azzi's answer)
for j=1:Nbr_Case % loop by case
plot(V_Time,M_Nett{i}(:,1:j)') % plot pair
% ...
end
end
I will let you fill in the blanks
0 Kommentare
Siehe auch
Kategorien
Mehr zu Line Plots 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!