如何使用a【b,c】的语法索引矩阵得到二维矩阵
技术分享
发布于 2025-07-22 10:47:14
查看 1过去315天
问题现象
当使用a[b,c]的语法来索引矩阵a,如果b是行向量 c是UnitRange,结果通常是一个三维矩阵,而想得到的是一个二维矩阵。
解决方法
利用vec()函数进行转换后再索引。
示例:
1.新建Julia 脚本如下:
a = rand(100,100)
b = [1 2 3]
c = 1:3
result = a[b,c]
b是一个 1x3 的行向量,c是一个长度为3的UnitRange,所以a[b,c]的结果是一个 1x3x3 的三维数组。

2.如果希望结果是一个二维矩阵,而不是三维数组,利用vec()函数进行转换后再索引。
result = a[vec(b),c]

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境