2
給出一個產生單個列的函數/表達式,如何在Julia的這些列中構建一個矩陣?我嘗試以下(簡化的例子):如何從Julia中的行/列向量構造矩陣
column(j) = [j, j, j] # for example
my_matrix = Float64[column(j)[i] for i in 1:3, j in 1:4]
==> 3x4 Array{Float64,2}:
1.0 2.0 3.0 4.0
1.0 2.0 3.0 4.0
1.0 2.0 3.0 4.0
的結果是正確的,但是這不是我想要的,因爲列矢量表達式(每一行一次)不必要的評估。
我也嘗試這種替代方法:
[column(j) for j in 1:4]
==> 4-element Array{Array{Float64,1},1}:
[1.0,1.0,1.0]
[2.0,2.0,2.0]
[3.0,3.0,3.0]
[4.0,4.0,4.0]
但我發現沒有辦法轉換或重塑到這一點我想要的形式(矩陣兩個維度,而不是陣列中的陣列)。
如何在朱莉婭做到這一點?
這是完美的,謝謝!我知道* cat函數,但我不知道數組=>通過省略號解包元組轉換。對其他朱莉婭新手的建議:至少考慮查看最新版本的文檔(即使使用舊版本的朱莉婭),也有一些急劇的總體改進(例如THIS)。 – radioflash
太棒了,很高興它適合你。是的,手冊變化很快,所以看最新版本通常是一個好主意。 – spencerlyon2
如果第二維度很大,該怎麼辦?當'j'運行到大於2百萬的值時,我會得到段錯誤或堆棧溢出。 – Alex