我有八列数据. Colulmns 1,3,5和7包含3位数字.列2,4,6和8包含1和0,分别对应于1,3,5和7.如果偶数列中有零,我想将相应的数字更改为NaN.更简单,如果是的话 155 1 345 0328 1 288 1884 0 145 0326 1 332 1159
155 1 345 0 328 1 288 1 884 0 145 0 326 1 332 1 159 0 186 1
然后884将被NaN取代,159,345和145将被替换,其他数字保持不变.我需要使用NaN以矩阵形式维护数据.
我知道我可以用
data(3,1)=Nan; data(5,1)=Nan
等,但这非常耗时.任何建议都会非常受欢迎.
我会将问题分成两个矩阵,一个是逻辑掩码,另一个是数据.data = your_mat(:,1:2:end); valid = your_mat(:,2:2:end);
然后你可以简单地做:
data(~valid)=NaN;
然后,您可以通过执行以下操作重建数据:
your_mat(:,1:2:end) = data;