我试图读取Matlab中的.txt文件,其中包括有关太阳辐射和温度的月度信息。月份与文本一样,即1月份,2月份等。然后利用这些信息需要制作一些图表来显示每月的信息,例如月度太阳辐射在x轴上有月份。除了需要在相同的图上绘制两个图,因为我有Matlab 2015b需要使用plotyy。 问题:我认为从文件中读取的月份是正确的,但是当我绘制所有月份为一月份时,我无法正确绘制两张图,因为时间不同。Matlab:如何从.txt文件中正确读取月份
,使用的代码是:
fidata = fopen('Asmara-mon2.txt', 'r');
formatSpeci = '%s';
N1 = 9;
% h1=('Month' 'Temp' 'Tamin' 'Tadmin' 'Tadmax' 'Tamax' 'RH');
h3 = textscan(fidata,formatSpeci,N1,'Delimiter','|');
asmara_precipitation= textscan(fidata,'%{MM}D %f %f %f %f %f %f %f %f');
% formatIn = 'mm';
asmara_precipitation{1}=datenum(asmara_precipitation{1});
asmara_precipitation=cell2mat(asmara_precipitation); %% Month| H_Gh| SDm |SDd|SDastr |RR |RD |FF |DD
[MonthNum, MonthString] = month(asmara_precipitation(:,1));
p=find(average_day_radiation(:,1)<10);
q=find(diff(p)==1);
idx=[p average_day_radiation(p) average_day_radiation(p,2) average_day_radiation(p,4)];
consecutive_idx=[p(q) idx(q,2) idx(q,3) idx(q,4)];
% Graphic of bad radiation days
figure (44)
hold on
plotyy(MonthNum,asmara_precipitation(:,7),consecutive_idx(:,1),consecutive_idx(:,2))
datetick('x','mmm')
预先感谢您的任何帮助,并抱歉地问一些可能看起来很可笑。
我假设第一列'Month'不是支持的日期格式。你应该看看month()函数的在线文档https://www.mathworks.com/help/finance/month.html#inputarg_F –
嘿,谢谢我已经解决了这个问题:)我应该在这里发布或只是删除我的问题? –