带变量bound的Julia循环给出“无效索引”

时间:2017-11-06 19:09:59

标签: julia

我在朱莉娅时:

for i = 2:1000,

使用长度为1000的alpham和V向量。我得到错误“ArgumentError:invalid index:1.0”。但是,如果我这样做:

inSampleSize = Math.Sqrt(actualNumberofPixels / reqNumberOfPixels);

确实有效。是否有任何理由为什么前一个没有或有什么方法我仍然可以在我的for循环中使用N?我做错了吗?

提前致谢, Xentro

1 个答案:

答案 0 :(得分:8)

ArgumentError告诉您使用Float64进行索引,这样做并不是在Julia中定义的。在您的最小工作示例(MWE)中,您将N初始化为1000(Int),以便MWE实际上不会重现错误,但在您的评论中,您会注意到在原始代码中得到N为floor(x),返回一个浮点数。要获得Int,您需要floor(Int, x)

还存在一些语法问题:,之后您不应该有for i = 2:1000,并且通常不需要使用;结束语句。

请注意,您应该确保MWE可以纯粹通过在REPL中复制粘贴代码来运行(即需要初始化变量,alpham, V = ones(1000), ones(1000))。在发布之前自己运行它以确保它能够重现您报告的错误,并捕获任何语法错误。