从矩阵中提取数据,将NaNs保持为NaNs matlab

时间:2014-11-10 11:29:55

标签: matlab extract nan

我有一个名为' data'的数据集。尺寸为106 * 103 * 100。我正在提取数据集的一部分,以便根据其地理位置使用纬度和经度进行进一步分析,并命名提取的数据' testdata')。 '数据'包含数字和NaN的混合物。

我要提取的数据位于ylat_south = 44,ylat_north = 55,xlon_west = 16和xlon_east = 30的纬度和纵向范围内;

纬度矩阵称为:final_lat(106 * 103); 经度矩阵称为:final_lon(106 * 103); 这就是我必须提取的数据:

for i=1:size(data,3);
testdata(:,:,i)=+(final_lat>=ylat_south & final_lat<=ylat_north & 
final_lon>=xlon_west & final_lon<=xlon_east).*data(:,:,i);      
end

我所使用的代码(即我最终得到的大小为106 * 103 * 100的testdata),除了当写出testdata时,任何包含NaN的数据都包含在数据中。正在被写为零是新的测试数据&#39;矩阵&#39 ;.我知道我可以这样做是一个循环,带有if语句,但我试图保持代码尽可能高效。

任何建议表示赞赏。

0 个答案:

没有答案