Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

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

2 Ansichten (letzte 30 Tage)
Touts Touts
Touts Touts am 13 Apr. 2019
Geschlossen: MATLAB Answer Bot am 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);
disp('----')
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));
end
plot(V_Time,Inf1{k})
hold on;
end
end
fclose('all');
Please where is the pb?

Antworten (1)

Kevin Rawson
Kevin Rawson am 13 Apr. 2019
You are only getting the last ones because your plot command is outside the k for loop.
  3 Kommentare
Touts Touts
Touts Touts am 13 Apr. 2019
Dear Kevin Rawson any help please
Kevin Rawson
Kevin Rawson am 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.

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by