hi all, the following code is for writing all of data file names into text file, the problem is the name are not written in the text sequentially
clear
FN1 = 'JDA';
z = '0',
mn = 1:12;
yr = 9:13;
ext = '.ohh';
for k = 1:numel(yr);
if yr==9
tmp = sprintf('%s%s%03d%02d%s',FN1,z,yr(k),mn(k),ext)
fid = fopen(tmp,'rt');
end
tmp = sprintf('%s%03d%02d%s',FN1,yr(k),mn(k),ext)
fid = fopen(tmp,'rt');
end
filename = fopen('JDAraw.txt','w');
fprintf(fid,tmp);
If anyone can correct this for me, I'll appreciate the help.

 Akzeptierte Antwort

Thorsten
Thorsten am 20 Okt. 2015

0 Stimmen

FN1 = 'JDA';
mn = 1:12;
yr = 9:13;
ext = '.ohh';
format = sprintf('%s%%03d%%02d%s\n', FN1, ext);
data = [yr; mn(1:numel(yr))];
text = sprintf(format, data(:))
fid = fopen('JDAraw.txt','w');
fprintf(fid, '%s', text)
fclose(fid)

3 Kommentare

Lilya
Lilya am 20 Okt. 2015
It worked, but it does not count the other months only the first one from each year
If you want filenames for 12 month for each year, use
data = [reshape(repmat(yr, [12 1]), 1, []); ...
repmat(mn, 1, numel(yr))];
Lilya
Lilya am 20 Okt. 2015
OMG! Thank you like huge universe

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stalin Samuel
Stalin Samuel am 20 Okt. 2015

0 Stimmen

clear
FN1 = 'JDA';
z = '0',
mn = 1:12;
yr = 9:13;
ext = '.ohh';
filename = fopen('JDAraw.txt','w');
for k = 1:numel(yr);
yr1 = yr(k);
if yr1==9
tmp = sprintf('%s%s%03d%02d%s',FN1,z,yr1,mn(k),ext)
fid = fopen(tmp,'rt');
end
tmp = sprintf('%s%03d%02d%s',FN1,yr1,mn(k),ext)
fid = fopen(tmp,'rt');
fprintf(filename, '%s\n',tmp);
end

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 20 Okt. 2015

Kommentiert:

am 20 Okt. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by