gpt4 book ai didi

arrays - julia 变量中的数组结尾

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

我想切片一个数组 a在 Julia 中以这样的方式在循环中将其分成 n 的块 sample 。数组的长度 nsamples不是 n 的倍数,所以最后一步会更短。

我的尝试是使用三元运算符来检查步幅的大小是否大于数组的长度:

for i in 0:n:nsamples-1
end_ = i+n < nsamples ? i+n : end
window = a[i+1:end_]
end

这样, a[i+1:end_]将解析为 a[i+1:end]如果我超过了数组的大小。

但是,在第 2 行中使用关键字“end”是 Not Acceptable (这也是 julia.h 中“控制语句结束”的关键字。

在python中,我可以分配 Noneend_这将解析为 a[i+1:None] ,这将是数组的结尾。

我怎样才能解决这个问题?

最佳答案

end关键字仅在索引表达式内被给予这种特殊处理,它计算为被索引的维度的最后一个索引。你可以把它放在里面,例如

for i in 0:n:nsamples-1
window = a[i+1:min(i+n, end)]
end

或者你可以直接使用 length(a) (或 nsamples ,我猜它们是一样的?)而不是 end明确哪个 end你指的是。

关于arrays - julia 变量中的数组结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34086675/

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