我有一个关于生成两种类型向量的初学者 Julia 问题:
如何生成由 n 个相同元素组成的向量,而无需手动输入?例如,如何生成由 7 乘以数字 5 组成的向量 v,因此v = [5,5,5,5,5,5,5].
如何生成一个包含从整数 x 开始的 n 个连续整数的向量,而无需手动输入?例如,如何生成一个向量 z,其中包含从 1 开始的 10 个连续整数,因此z = [1,2,3,4,5,6,7,8,9,10].
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,为每个元素分配内存。