MATLAB Answers


Pb in plotting for loop, in get juste the laste one

Asked by Touts Touts on 13 Apr 2019
Latest activity Commented on by Kevin Rawson on 14 Apr 2019
Hy : for my plotting for loop i get juste the laste ones :
clc; clear all; close all
P_File = 'Get_';
E_File = '*.txt';
H_File = 6;
for i = 1:2;
flist = dir([P_File,num2str(i),E_File]);
for j = 1:length(flist);
fid = fopen(flist(j).name,'r');
MData{i} = textscan(fid,'%d%f%f%f','headerlines',H_File);
[C1 C2 C3 C4] = MData{i}{:};
[C1_1 C1_2 C1_3 C1_4] = MData{1}{:};
V_Position = unique(C1_1);
V_Time = unique(C1_2);
N_Position = length(V_Position); % Nbr Position
N_Time = (length(V_Time))-1; % Nbr out Time
for k = 1:N_Position;
L_Min(k) = ((N_Time+1)*(k-1))+1; % position min
L_Max(k) = ((N_Time+1)*k); % position max
Inf1{k} = C3(L_Min(k):L_Max(k));
hold on;
Please where is the pb?


Sign in to comment.

1 Answer

Answer by Kevin Rawson on 13 Apr 2019

You are only getting the last ones because your plot command is outside the k for loop.


I could not be well positioned, 2 loops : one for file and the second for the position.
Please any idea
As I stated above, it's because you don't have the plot (and hold on) within your for k = 1:N_Position loop.
By putting your plot command outside of the for loop, you only plot a single instance, i.e. k=N_Position.

Sign in to comment.