如何遍历 n x n 矩阵并替换 MATLAB 中的值?



我在MATLAB中有一个n x n矩阵。我正在尝试遍历此矩阵的每一行和每一列。如果每个元素中的值高于某个阈值,我想用 1 替换该元素。如果每个元素中的值低于某个阈值,我想用 0 替换该元素。

我正在尝试使用两个 for 循环,但它并没有引导我去任何地方。有什么建议吗?

我建议逻辑索引。

A = randi([1 20],6,6);
Threshhold = 13;
A(A<Threshhold) = 0;
A(A>=Threshhold) = 1;

以前:

>> A = randi([1 20],6,6)
A =
7     1    20     3     2    15
16    13    11     3    11     7
5     2     1     5    10    16
5    14     8    14    11     8
16    11     7    20    20    17
10     1     2    10     6    12

后:

>> A
A =
1     0     0     0     1     0
0     0     1     0     0     0
0     0     0     1     0     0
1     1     1     0     1     1
0     0     0     1     0     0
0     0     0     0     0     0

希望有帮助。

更新:
根据@Cris Luengo的评论, 其他方法包括A=double(A>=Threshold)或等效A=+(A>=Threshold)

相关内容

  • 没有找到相关文章

最新更新