fscanfを用いた行列ファイルデータの読み取りについて
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Yusaku Ando
am 6 Okt. 2017
Bearbeitet: Jiro Doke
am 10 Okt. 2017
行列の配列が異なる複数のtxtファイルを下のようにリストにまとめ、ループ中でfscanfによって行列を読み取ると、x行y列のデータがx×y行1列で表示されてしまいます。x=fscanf(infile,'%f'、[x y]);とすれば表示できると思いますが他のデータと配列が異なるので自動的に元の配列で表示させたいです。どのように訂正すれ可能になるでしょうか。
LIST=dir('*.txt');
file=fopen('fname.txt','wt');
n=length(LIST);
for i=1:n
out=LIST(i,1).name;
fprintf(file,'%s\n',out);
end
fclose(file);
fid=fopen('fname.txt');
data=textscan(fid,'%s');
infnames=data{1,1};
n=length(infnames);
for i=1:n
fname=infnames(i,1);
fname=char(fname);
[pathstr, name, ext] = fileparts(fname);
infile=fopen(fname);
s=fscanf(infile,'%f');
%省略
end
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu テキスト ファイル finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!