I am having 5 .mat files. Each mat file contains 5 parameters. A,B,C,D,E
Now I want to plat a graph which will be considering all mat files.
I want to take C variable which is of a size 200x1 from each mat file, take mean of it for that mat file and then plot it against time.
So at the end I will get a graph with 5 points representing mean of the respective C columns from .mat file.
Can anyone help me to do this?
Here is what I have done till now:
clear all; clc;
myFolder = 'C:\Users\adi\Documents\MATLAB\';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.mat');
matFiles = dir(filePattern);
for k = 1:length(matFiles)
end
This is reading the files from my folder. Now Please help me to analyze them!

 Akzeptierte Antwort

Thorsten
Thorsten am 26 Mai 2015
Bearbeitet: Thorsten am 26 Mai 2015

0 Stimmen

In the body of your for loop, write
load(matFiles(k).name)
plot(k, mean(C), '.')
if k == 1, hold on, end

8 Kommentare

Thank you for quick reply. But it's giving me
Subscript indices must either be real positive integers or logicals.
error!
adi kul
adi kul am 26 Mai 2015
what will be the reason?
Thorsten
Thorsten am 26 Mai 2015
My fault. Must be matFiles(k) instead of matFiles(i). I corrected the original post.
Now it's giving
Error using load
Argument must contain a string.
Thorsten
Thorsten am 26 Mai 2015
Sorry, must be matFiles(k).name, as corrected above.
adi kul
adi kul am 26 Mai 2015
Bearbeitet: adi kul am 26 Mai 2015
I figured it out but now it's giving
Error using load
Unable to read file
'Trial1.mat':
no such file or directory.
The 5 files are Trial1.mat, ....., Trial5.mat
Thorsten
Thorsten am 26 Mai 2015
Bearbeitet: Thorsten am 26 Mai 2015
Does
>> dir
show you Trial1.mat, Trial2.mat etc? If not, you have to move these files to your current directory, or change your current directory to a location where these files are stored.
If yes, you probably have NO read access to the files. You have to add read permission to your files
Unix/Linux/MacOS:
system('chmod u+r Trial*.mat')
Windows:
system("CACLS Trial*.mat /e /p yourlogin:r")
adi kul
adi kul am 26 Mai 2015
Thanks! I misplaced my directories!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 26 Mai 2015

0 Stimmen

This question is asked daily. See the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F Use the code snippets to loop over files. At the center of the loop, call load(), hold on, and plot().

Kategorien

Gefragt:

am 26 Mai 2015

Bearbeitet:

am 26 Mai 2015

Community Treasure Hunt

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

Start Hunting!

Translated by