我需要一些幫助來創建一個代碼來提取某些具有特定條件的行。我有一個叫做wind_speed
的3D矩陣(緯度,經度,時間(15000個值,每天1個值))。我也有一個Excel文件,有16個特定的緯度和經度,我需要專門研究。 我需要計算一年的風速,但是我在提取時遇到了困難。 我想要的只有16個(每組經緯度一個)新的2D矩陣,這些矩陣給我365或366天的行時間,一天一行。根據我的條件創建一個矩陣
我已經指定了採樣的第一天:
N0=datenum(1979,1,1);
,並從Excel中提取我的16分與文件:
[num,txt,raw] = xlsread('Coordinates.xlsx');
latPoint=squeeze(num(:,2));
lonPoint=squeeze(num(:,1));
for ii=1:16
ilon = find(longitude(:,1)==lonPoint(ii));
ilat = find(latitude(:,1)==latPoint(ii));
wind_speed_points(:,ii) = squeeze(wind_speed(ilon,ilat,:));
end
到目前爲止,一切都很好。我已經運行此和工作在矩陣wind_speed_points
值通訊員發現某一年
iyear=0;
for i=1:nt; %%nt=lenght(time)
year = str2double(datestr(N0+i-1,'yyyy'));
if(year == 1979)
iyear=iyear+1;
for ii=1:16
w_speed_new(iyear,ii) = squeeze(wind_speed_points(i,ii));
end
end
end
我將有一個矩陣365x16代表365天爲每組LON /從Excel中緯度提取。但不是我想要的。我想要的是16矩陣(每組一個),可以說22行(1979,1980,1981,1982,1983 ... 1999,2000)和365或366行。爲了創建具有相同大小的矩陣,每個具有365行的向量的最終值可以爲零。
「22行和365或366行」不可能用於矩陣,這總是nXm – Daniel