在C中有一个类似的问题如何将int数组转换为int?; 但是,我在朱莉娅找不到这样的问题.
我的问题如下:
有一个错误 v[1] = x'*y
所以我试着找到原因,它表明:
但是,x^Ty=2
如果你直接输入2
,它就是,Int64
并且没有错误,如下所示:
那么如何从Array {Int64,1}转换到Int 64,1?
引擎盖下的原因是Julia-0.5仍然没有认真对待矢量转置,实际上,x'
是一个1x2矩阵:
julia> x' 1×2 Array{Int64,2}: 1 1
显然,你想获得的点积x
和y
,但是从技术上来讲x'*y
是不正确的语法,你应该使用dot(x,y)
或\cdot[tab]
:
julia> x ? y 2
这个问题已经通过引入一个新类型在Julia-0.6 master上得到修复RowVector
:
julia> x' 1×2 RowVector{Int64,Array{Int64,1}}: 1 1 julia> x'*y 2