MATLAB Answers

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

7 views (last 30 days)
Touts Touts
Touts Touts on 13 Apr 2019
Commented: 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.

Answers (1)

Kevin Rawson
Kevin Rawson on 13 Apr 2019
You are only getting the last ones because your plot command is outside the k for loop.


Touts Touts
Touts Touts on 13 Apr 2019
I could not be well positioned, 2 loops : one for file and the second for the position.
Please any idea
Kevin Rawson
Kevin Rawson on 14 Apr 2019
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.

Sign in to answer this question.