gpt4 book ai didi

matrix - 提取矩阵的下三角部分

转载 作者:行者123 更新时间:2023-12-04 23:37:03 27 4
gpt4 key购买 nike

我想知道 Julia 中是否有命令或包允许我们直接提取矩阵的下三角形部分,不包括对角线。显然,我可以为此调用 R 命令(例如 gdata 包的 lowerTriangle ),但我想知道 Julia 是否有类似的东西。例如,假设我有矩阵

1.0    0.751   0.734    
0.751 1.0 0.948
0.734 0.948 1.0

我不想创建一个下三角矩阵
NA     NA      NA     
0.751 NA NA
0.734 0.948 NA

但将矩阵的下部提取为数组: 0.751 0.734 0.948

最佳答案

如果您可以创建下三角矩阵作为中间步骤,则可以使用逻辑索引和 tril!用一个额外的参数来获得你需要的东西。

julia> M = [1.0 0.751 0.734
0.751 1.0 0.948
0.734 0.948 1.0];
julia> v = M[tril!(trues(size(M)), -1)]
3-element Array{Float64, 1}:
0.751
0.734
0.948
trues调用返回一个 M 形状的数组,其中填充了 bool 值 true值。 tril!然后将其修剪为我们想要的矩阵部分。 tril 的第二个参数!告诉它从哪个超对角线开始,我们在这里使用它来避免前导对角线中的值。

我们使用它的结果对 M 进行索引,并返回一个具有所需值的数组。

关于matrix - 提取矩阵的下三角部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com