【发布时间】:2013-11-22 01:43:52
【问题描述】:
我需要一些帮助来创建一个代码来提取具有特定条件的一些行。我有一个名为 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 的矩阵,代表从 Excel 中提取的每组经度/纬度的 365 天。但这不是我想要的。我想要的只是 16 个矩阵(每组一个),比如说 22 行(1979,1980,1981,1982,1983...1999,2000)和 365 或 366 行。要创建一个大小相同的矩阵,每个 365 行的向量的最终值可能为零。
【问题讨论】:
-
"22 行和 365 或 366 行"不能用于矩阵,这总是 nXm