Filter löschen
Filter löschen

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?

2 Ansichten (letzte 30 Tage)
ivsFiles = dir('*.ivs');
numfiles = length(ivsFiles);
for k = 1:103;
filename = ivsFiles(k).name;
fileID = filename;
C = textscan(filename,'%d');
end
  3 Kommentare
Anuradha Bhattacharya
Anuradha Bhattacharya am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 22 Sep. 2016
Bearbeitet: KSSV am 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 Kommentare
Walter Roberson
Walter Roberson am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Low-Level File I/O finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by