是否存在与Matlab的“逻辑”矩阵等效的Julia,您可以用来标记矩阵中的某些位置,然后将其用于矩阵处理?
在matlab中,它看起来像这样:
A=magic(3);
C=eye(size(A));
C=logical(C);
M=A;
M(C)=0;
我需要在主对角线上保持零。在matlab中,我会这样做,但是在Julia中,没有“逻辑”矩阵。我搜索了朱莉娅等效物,但找不到任何东西。预先感谢!
答案 0 :(得分:3)
您可以创建Array
个BitArray或Bool
个most intents and purposes the same。
例如
> using LinearAlgebra
>I(3) # `I()` is the identity matrix function
3×3 Diagonal{Bool,Array{Bool,1}}:
1 ⋅ ⋅
⋅ 1 ⋅
⋅ ⋅ 1
您可以使用它通过逻辑非运算符~
broadcasting将另一个矩阵中的元素清零,然后将另一个矩阵中的每个元素相乘(通过广播*
与{ {1}}。
例如:
.*