plot seperate measurements in for loop on the same graph

8 vues (au cours des 30 derniers jours)
Debbie Oomen
Debbie Oomen le 9 Oct 2017
Modifié(e) : Jonathan Chin le 11 Oct 2017
I have several measurements saved in one folder. All measurement files have the same two colums (column A is time(s) and column B is volt). I used this script:
myDir = uigetdir; %gets directory
myFiles = dir(fullfile(myDir,'*.xlsx')); %gets all xlsx in struct
for i = 1:length(myFiles(:,1));
sig= xlsread(myFiles(i).name, 'B:B');
time= xlsread(myFiles(i).name, 'A:A');
plot(time,sig(i))
However, the sig returns as the values of column B of all measurements and does not plot anything but I only want Matlab to loop through every file and then plot the separate measurements in one figure using multiple graphs per measurement.
  3 commentaires
Debbie Oomen
Debbie Oomen le 10 Oct 2017
Thank you. However, I now get two plots in the same figure and they are overwriting another. I want the plots for all my signals in different graphs so that each measurement can be seen beneath each other. How can I do this?
Jonathan Chin
Jonathan Chin le 11 Oct 2017
Modifié(e) : Jonathan Chin le 11 Oct 2017
do you mean sub plots?
for i = 1:length(myFiles(:,1));
sig{i}= xlsread(myFiles(i).name, 'B:B');
time{i}= xlsread(myFiles(i).name, 'A:A');
subplot(length(myFiles(:,1)),1,i)
plot(time{i},sig{i})
end
subplot allows you to put multiple plots on the same figure.

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 10 Oct 2017
files = dir('*.xlsx'); % get all excel files
N = length(files) ; % total number of files
figure
hold on
for ii = 1:N
[num,txt,raw] = xlsread(files(i).name) ;
plot(num(:,1),num(:,2))
end

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by