小编mrk*_*102的帖子

如何找到具有负值的索引并将该值替换为恰好为正的最接近的索引值?

我知道如何从矩阵中找到负值的索引。

matrix(matrix<0) = %something should be done;
Run Code Online (Sandbox Code Playgroud)

但是不知道如何将它们的值替换为恰好为正的最接近的索引值。

  1. 此处最近的索引应位于观察索引所在的同一行中。

  2. 如果行中没有具有正值的索引,则应将 0 插入到该行的每个索引中。

  3. 如果同一行中与观察到的索引最接近的索引不止一个,请选择正确的索引。

  4. 我正在处理 1003x1170 单矩阵。因此,如果解决方案不会带来如此多的开销,那将是最好的。

例如,

[-255  4  6; 
   -5 -4  5; 
 -400  3  6; 
   -6 -7 -8;
    3 -5  4] 
Run Code Online (Sandbox Code Playgroud)

成为

[4 4 6; 
 5 5 5; 
 3 3 6;
 0 0 0;
 3 4 4]
Run Code Online (Sandbox Code Playgroud)

matlab interpolation image-processing matrix computer-vision

2
推荐指数
1
解决办法
220
查看次数