我的问题类似于之前描述的问题,链接如下:链接,不同之处在于我不是手动输入数字。因此,那里接受的答案对我不起作用。
我想将笛卡尔坐标向量转换为极坐标:
我想将笛卡尔坐标向量转换为极坐标:
function cart2pol(x0,
x1)
rho = sqrt(x0^2 + x1^2)
phi = atan2(x1, x0)
return [rho, phi]
end
@vectorize_2arg Number cart2pol
function cart2pol(x)
x1 = view(x,:,1)
x2 = view(x,:,2)
return cart2pol(x1, x2)
end
x = rand(5,2)
vcat(cart2pol(x))
由于某些原因,最后一个命令未收集数组,返回类型为5-element Array{Array{Float64,1},1}
的输出。有什么办法可以将其转换为Array{Float64,2}
吗?
hcat(cart2pol(x)...)
或vcat(map(transpose, cart2pol(x))...)
。那些三个点很重要。 - mbauman