【发布时间】:2018-03-29 07:44:18
【问题描述】:
我正在编写一个方法,它接受一个二维数组和一个 int 行号作为参数,并返回给定行中元素的最大值。
看起来像这样:
function getHighestInRow(A, i)
return(maximum(A[:i,:]))
end
我遇到的问题是当我用
切片数组时A[:i,:]
我收到一个参数错误,因为 :i 使 i 得到不同的处理。
代码在另一个方向上工作
A[:,i,:]
有没有办法逃脱冒号?以便i 在冒号后被视为变量?
【问题讨论】:
-
为了获得更好的性能,最好使用 view 或使用
for循环显式编码 -
你这么认为?值得在实践中测试。
-
A[i,:]创建一个新向量。正确的?太浪费了。 -
当然,但有时小视图也不是很快。让我试试看。
-
你是对的,视图总是更快。当切片速度更快时,我永远无法弄清楚实际规则是什么,我认为这是针对小数组的。
标签: arrays multidimensional-array indexing julia slice