当前位置:  开发笔记 > 编程语言 > 正文

在朱莉娅变量中的数组结束

如何解决《在朱莉娅变量中的数组结束》经验,为你挑选了1个好方法。

我想a在一个循环中切片Julia中的一个数组,以便将它分成几个n样本块.该阵列的长度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"是不可接受的(它也是julia中"end of control statement"的关键字.

在Python中,我可以分配Noneend_,这将解决到a[i+1:None],这将是数组的结尾.

我怎么能绕过这个?



1> Toivo Hennin..:

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

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

或者您也可以使用length(a)(或者nsamples,我猜他们是一样的吗?),而不是end要清楚哪些end你指的是.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有