2014-11-05 171 views
1

我使用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] 

回答

2

的問題是,通過轉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

+0

我猜測顯示器有問題,因爲它不是直接穿過沒有逗號,就是沒有逗號。有沒有辦法將它更改爲像方法2一樣的1xn數組,但使用逗號或逗號只是一個整型問題? – ccsv 2014-11-06 02:50:42

+0

與commmas =一個矢量,一個固有的一維對象。在沒有逗號的情況下= 1行的矩陣。逗號僅用於向量。 – IainDunning 2014-11-06 03:51:40