如何用J语言中的givig间隔生成带有数字的向量?

use*_*747 2 j

我不是程序员所以请详细解释我.

我想要的是:如果我有间隔[2,5],我需要一个需要的功能

  • 间隔的结束
  • 和需要生成的元素数量.

例如,让我们有函数myfunction,我给它以下参数值:

2 5 10
Run Code Online (Sandbox Code Playgroud)

它将返回一个矢量,如:

2 2.3 2.6 2.9 3.2 3.5 3.8. 4.1. 4.4 4.7 
Run Code Online (Sandbox Code Playgroud)

谢谢

Eel*_*vex 5

1库脚本'numeric'具有steps:

load'numeric'
steps 2 5 10
2 2.3 2.6 2.9 3.2 3.5 3.8 4.1 4.4 4.7 5
Run Code Online (Sandbox Code Playgroud)

您可以使用以下内容排除最后一个元素(第11个)curtail }::

}: steps 2 5 10
2 2.3 2.6 2.9 3.2 3.5 3.8 4.1 4.4 4.7
Run Code Online (Sandbox Code Playgroud)

2另一种方法,如果你不想使用该库,则a)取步长,b)乘以步数c)添加起点:

'a b steps' =: 2 5 10
]r =: (b -a) % steps         NB. step size
0.3
]l =: r * i. steps           NB. list of steps
0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7
a + l                        NB. steps + starting point
2 2.3 2.6 2.9 3.2 3.5 3.8 4.1 4.4 4.7
Run Code Online (Sandbox Code Playgroud)

你可以把它写成"函数"(动词):

f =: 3 : 0
'a b steps' =. y
a + ((b-a) % steps) * i.steps
)
f 2 5 10
2 2.3 2.6 2.9 3.2 3.5 3.8 4.1 4.4 4.7
Run Code Online (Sandbox Code Playgroud)