MATLAB Answers


This question is closed. Reopen it to edit or answer.

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

1 view (last 30 days)
Touts Touts
Touts Touts on 13 Apr 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
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?

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.
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.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!