When I run the following code it only shows the last file in the directory in MATLAB workspace? How do I get all the files in my directory saved in the workspace?

1 vue (au cours des 30 derniers jours)
ivsFiles = dir('*.ivs');
numfiles = length(ivsFiles);
for k = 1:103;
filename = ivsFiles(k).name;
fileID = filename;
C = textscan(filename,'%d');
end
  3 commentaires
Anuradha Bhattacharya
Anuradha Bhattacharya le 22 Sep 2016
But I have files ra1001 to ra1150. How do I open and read all the files in the directory? Thanks for your help.
Anuradha Bhattacharya
Anuradha Bhattacharya le 22 Sep 2016
I tried this code:
ivsFiles = dir('*.ivs');
numfiles = length(ivsFiles);
for k = 1:103;
filename = ivsFiles(k).name;
fileID = filename;
fid = fopen('ra%d.ivs',k);
C = textscan(fid,'%d');
fclose(fid);
end
It is giving error:
Error using fopen Invalid permission.
My files do not have any password settings on them.

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 22 Sep 2016
Modifié(e) : KSSV le 22 Sep 2016
ivsFiles = dir('*.ivs');
numfiles = length(ivsFiles);
C = cell(numfiles,1) ; % initialize each file's data into a cell
for k = 1:numfiles;
filename = ivsFiles(k).name;
fileID = filename;
C{i} = textscan(filename,'%d');
end
Please note that, you will eat up the memory if the files are huge.
  2 commentaires
KSSV
KSSV le 22 Sep 2016
Consider Walter Roberson comments...he is right..
Walter Roberson
Walter Roberson le 22 Sep 2016
ivsFiles = dir('*.ivs');
numfiles = length(ivsFiles);
C = cell(numfiles,1) ; % initialize each file's data into a cell
for k = 1:numfiles;
filename = ivsFiles(k).name;
fileID = fopen(filename, 'rt');
C{i} = textscan(fileID,'%d');
fclose(fileID);
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by