Julia矩阵访问任意指定行报错invalid index如何解决
错误原因
- 代码中
mat[:i,:]里的:i是Julia的符号(Symbol)类型字面量,代表固定的名为i的符号对象,和你作为参数传入的整数变量i没有关联,因此无法作为合法的整数索引使用。 - 你提到的
mat[:1,:]可以正常运行是Julia对数字开头的符号做了特殊的隐式转换,属于特例,不代表带冒号的变量名可以正常读取参数值。
修复方案
直接去掉索引中i前面的冒号,使用传入的整数变量i作为索引即可,修改后的代码如下:
function f(mat,i) println(mat[i,:]) end
内容的提问来源于stack exchange,提问作者newtothis
相关产品推荐
相关产品推荐

