Julia 向量问题:生成连续整数和相同的值

Dan*_*iël 5 vector julia

我有一个关于生成两种类型向量的初学者 Julia 问题:

  1. 如何生成由 n 个相同元素组成的向量,而无需手动输入?例如,如何生成由 7 乘以数字 5 组成的向量 v,因此v = [5,5,5,5,5,5,5].

  2. 如何生成一个包含从整数 x 开始的 n 个连续整数的向量,而无需手动输入?例如,如何生成一个向量 z,其中包含从 1 开始的 10 个连续整数,因此z = [1,2,3,4,5,6,7,8,9,10].

sun*_*ica 5


julia> v = fill(5, 7); 

julia> @show v;
v = [5, 5, 5, 5, 5, 5, 5]

julia> z = collect(1:10);

julia> @show z;
z = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Run Code Online (Sandbox Code Playgroud)

请注意,在第二种情况下,通常您可以直接对范围进行操作,1:10而无需对其进行操作collect( z = 1:10)。1:10是一种Range类型,其工作原理是仅保存起点和终点,而不为所有 10 个值分配内存。collect将其转换为 full Vector,为每个元素分配内存。


Dan*_*iël 0

  1. 生成示例:v = repeat([5],7])
  2. 生成示例:z = [1:10;]