###Juliaでのリスト内包表記について
pythonでは
python
1node_x = 3 2node_y = 3 3node_z = 3 4dx = 1 5xyz = np.array([[i*dx, j*dx, k*dx] for k in range(node_z) for j in range(node_y) for i in range(node_x)])
と書くと、
out
1[[0. 0. 0.] 2 [1. 0. 0.] 3 [2. 0. 0.] 4 [0. 1. 0.] 5 [1. 1. 0.] 6 [2. 1. 0.] 7 ~省略~ 8 [2. 0. 2.] 9 [0. 1. 2.] 10 [1. 1. 2.] 11 [2. 1. 2.] 12 [0. 2. 2.] 13 [1. 2. 2.] 14 [2. 2. 2.]]
これと同じことをjuliaで行いたいです。
次のようにするとできますが、希望通りになりますが、これを内包表記にする方法はないでしょうか。
julia
1 xyz = Matrix(undef, node_x*node_y*node_z,3) 2 ii = 0 3 for k in 0:node_z-1 4 for j in 0:node_y-1 5 for i in 0:node_x-1 6 x = i * dx 7 y = j * dx 8 z = k * dx 9 ii += 1 10 #println([x, y, z]) 11 xyz[ii, 1] = x 12 xyz[ii, 2] = y 13 xyz[ii, 3] = z 14 end 15 end 16 end
以下のようにすると3次元の配列になってしまいます。
julia
1node_x = 3 2node_y = 3 3node_z = 3 4dx = 1 5xyz = [[i*dx, j*dx, k*dx] for k in 0:node_z-1, j in 0:node_y-1, i in 0:node_x-1]
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。