朱莉娅阵列级联尺寸不匹配
问题描述:
我使用y =[x,a]
时来连接我的两个阵列具有尺寸不匹配的问题:朱莉娅阵列级联尺寸不匹配
x = reshape(1:16, 4, 4)
x = mean((x ./ mean(x,1)),2)'
a = zeros(3)
println(x)
y =[x,a]
print (y)
如果我尝试将它们结合起来,我会得到这个错误:
mismatch in dimension 2
两个变量x和a似乎在控制台中的尺寸相同:
println(x)
[0.7307313376278893 0.9102437792092966 1.0897562207907034 1.2692686623721108]
println(a)
[0.0,0.0,0.0]
但x
是在第二个维度。有没有一种方法来组合数组,所以我可以在维度1?
y = [0.7307313376278893 0.9102437792092966 1.0897562207907034 1.2692686623721108, 0.0,0.0,0.0]
答
的问题是,通过转X(把一个'
在该行的结尾)你结束了以下内容:
julia> size(x)
(1,4)
julia> size(a)
(3,)
所以,当你尝试y=[x,a]
朱莉娅理所当然地抱怨说,它不能连接它们。
有(至少)两种解决方案:
1)不要转X:
x = reshape(1:16, 4, 4)
x = mean((x ./ mean(x,1)),2)
a = zeros(3)
println(x)
y =[x,a]
print (y)
2)也转a
和没有逗号级联:
x = reshape(1:16, 4, 4)
x = mean((x ./ mean(x,1)),2)'
a = zeros(3)'
println(x)
y =[x a]
print (y)
在第一种情况下,您将拥有size(y) = (7, 1)
,在第二种情况下,您将拥有size(y) = (1,7)
,那么您选择的选项将取决于您想要的t他的尺寸为y
。
我猜测显示器有问题,因为它不是直接穿过没有逗号,就是没有逗号。有没有办法将它更改为像方法2一样的1xn数组,但使用逗号或逗号只是一个整型问题? – ccsv 2014-11-06 02:50:42
与commmas =一个矢量,一个固有的一维对象。在没有逗号的情况下= 1行的矩阵。逗号仅用于向量。 – IainDunning 2014-11-06 03:51:40