我正在尝试使用集合边界在Julia中运行for循环,其中fI
和r
是相同长度的数组。我知道这是不正确的,但这是我想要做的事情的要点。
a = zeros(1:length(fI))
for i = 1:length(fI)
a[i] = (fI[i+1] - fI[i])/(r[i+1] - r[i])
end
如何在Julia中设置n + 1的增量?在其他地方,Haven没有找到答案。
如果我能澄清任何事情,请告诉我。我对这门语言还很陌生。
答案 0 :(得分:3)
范围由start:stepsize:end
指定。因此答案是for i = 1:(n+1):length(fI)
。
答案 1 :(得分:3)
我不完全确定你想做什么,但看起来你想根据其他变量中元素之间的差异创建一个新变量。如果这是您的使用案例,您可以使用diff
,例如
fI, r = rand(10), rand(10)
a = diff(fI) ./ diff(r)
答案 2 :(得分:1)
你的代码会崩溃,因为最后一次" i"您访问超出数组长度
fI[i+1] = fI[length(fI)+1]
a = zeros(1:length(fI))
for i = 1:length(fI)
a[i] = (fI[i+1] - fI[i])/(r[i+1] - r[i])
end
也许你想要以下
n = length(fI) - 1
a = zeros(1:n)
for i = 1:n
a[i] = (fI[i+1] - fI[i])/(r[i+1] - r[i])
end