有没有办法在matlab中将某些纬度更改为零?
所以,我正在尝试进行一个不适用于热带纬度的海洋学计算,因此,我需要将30N和30S之间的纬度转换为零,以去除它们。 我已尝试按如下方式执行此操作:有没有办法在matlab中将某些纬度更改为零?,matlab,nan,Matlab,Nan,所以,我正在尝试进行一个不适用于热带纬度的海洋学计算,因此,我需要将30N和30S之间的纬度转换为零,以去除它们。 我已尝试按如下方式执行此操作: lat = th_lim(1):1/5.999:th_lim(2); lat_no_tropics(30>lat>-30) = 0; lat_no_tropics(isinf(lat_no_tropics)|isnan(lat_no_tropics)) = 0; th_lim是我使用的数据范围内的纬度限制(-90.0833和90.0
lat = th_lim(1):1/5.999:th_lim(2);
lat_no_tropics(30>lat>-30) = 0;
lat_no_tropics(isinf(lat_no_tropics)|isnan(lat_no_tropics)) = 0;
th_lim是我使用的数据范围内的纬度限制(-90.0833和90.0833)。
选择1/5.999是为了使lat具有与计算中使用的其他遮罩相同的尺寸。
然而,它的结果是,纬度无热带(尽管它有正确的维度)只是一系列的零,仅此而已
如果有人能告诉我哪里出了问题,我将不胜感激。您可以通过以下方式将值设置为零:
% create data
lat = (rand(100,1)*100)-50;
% thresholds:
th_lower = -30;
th_upper = 30;
% set data within thresholds to 0
lat((th_upper > lat) & (lat > th_lower)) = 0;
30>lat>-30
是我想说的你错的地方。最好是做abs(lat)只是为了清楚起见,我会选择lat
而不是相反的方法,但效果当然是一样的。