Write multiple columns of data in a single text file
Afficher commentaires plus anciens
I want to generate weather file which is in the format using MATLAB
year month date rainfall tmax tmin 2006 1 1 2 23.56 7.25
I can generate this by the following command for only one line of data. The files contains 34698 lines. I can run only the first line. Now, as far i think I have to run a loop to get all the data for each latitude and longitude in a text file. Please help me in this regard.
if true
% rain = xlsread('pr_WAS-44_ICHEC-EC-EARTH_rcp85_r12i1p1_SMHI-RCA4_v2_day .xlsx',1,'D1:BN34699');
tasmax = xlsread('rcp85_tasmax_smhi_ecearth.xlsx',1,'D1:BN34699');
tasmin = xlsread('tasmin_rcp85_smhi.xlsx',1,'D1:BN34699');
lat = xlsread('lat.xlsx',1);
lon = xlsread('long.xlsx',1);
date = xlsread('date.xlsx',1);
tmax = tasmax-273; %conversion kelvin to celcious
tmin=tasmin-273; %conversion kelvin to celcious
outfile=sprintf('%6.2f_%6.2f.txt',lat(1),lon(1));
fid=fopen(outfile,'wt');
fprintf(fid,'%d %d %d %5.2f %5.2f %5.2f\n',[date(1,1) date(1,2) date(1,3) rain(1,1) tmax(1,1) tmin(1,1)]);
fclose(fid);
disp([outfile 'created']);
end
Réponses (1)
Voss
le 9 Jan 2024
data_to_write = [date(:,[1 2 3]) rain(:,1) tmax(:,1) tmin(:,1)];
fid=fopen(outfile,'wt');
fprintf(fid,'%d %d %d %5.2f %5.2f %5.2f\n',data_to_write.');
fclose(fid);
Catégories
En savoir plus sur Variables dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!