Hi, I have a problem with a script given to me by my teacher , I don't know what is its point nor its problem

2 Ansichten (letzte 30 Tage)
function A=einlesen(Anzahl)
% Einleseroutione
for i=1:Anzahl
name=sprintf('%i',i);
while length(name)<4, name=['0' name]; end
name=[name '.csv'];
A(:,:,i)=xlsread(name);
end

Akzeptierte Antwort

Stephen23
Stephen23 am 18 Sep. 2017
Bearbeitet: Stephen23 am 18 Sep. 2017
The function reads .CSV files into a numeric matrix. It uses a very awkward while loop to append leading zeros to the filename, to ensure that the name is atleast four characters long. The code then calls xlsread to get the data from some file.
The code is not well written. It would be better to:
  • Use sprint to generate the correct filename, complete with leading zeros:
>> sprintf('%04i.csv',1)
ans = 0001.csv
  • Preallocate the array that the data is being read into:
C = cell(1,Anzahl);
for k = 1:Anzahl
name = sprintf('%04i.csv',k);
C{k} = xlsread(name);
end
A = cat(3,C{:});
  1 Kommentar
fatima-zahra achbah
fatima-zahra achbah am 18 Sep. 2017
ok I see, my teacher gives me this and some XLS files and he told me to export all XLS file's data to a matrix in Matlab, and I have no clue how to do that since this my first time working in Matlab.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu File Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by