如何像MATLAB的逻辑()那样在Julia中将矩阵从int转换为bool?

ais*_*lia 5 matlab julia

如果你a在 MATLAB 中有一个整数数组,你可以logical(a)得到一个布尔数组,其中每个非零条目都是 1,每个 0 条目都是 0。你如何在 Julia 中做到这一点?

ARa*_*rez 9

另一种选择是使用该iszero函数,它为您提供更清晰的语法:

julia> a = rand(0:3,2,2)

2×2 Array{Int64,2}:
 0  3
 0  1


julia> b = iszero.(a)
2×2 BitArray{2}:
 1  0
 1  0
Run Code Online (Sandbox Code Playgroud)

您可以iszero在此处或通过?iszero在 REPL 中键入来找到有关信息。

需要使用广播,因为这会使函数将每个元素与零进行比较。如果你不使用它,它只会在所有矩阵都为零时返回真,如果一个元素不为零,它就会返回假。