how to do this Data analysis?

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!

 采纳的回答

Thorsten
Thorsten 2015-5-26
编辑:Thorsten 2015-5-26
In the body of your for loop, write
load(matFiles(k).name)
plot(k, mean(C), '.')
if k == 1, hold on, end

8 个评论

Thank you for quick reply. But it's giving me
Subscript indices must either be real positive integers or logicals.
error!
what will be the reason?
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.
Sorry, must be matFiles(k).name, as corrected above.
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
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")
Thanks! I misplaced my directories!

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2015-5-26

0 个投票

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

类别

帮助中心File Exchange 中查找有关 File Operations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by