2015-09-10 84 views
0

我創建了一個稀疏矩陣對於給定大小n數學:如何插入矩陣成一個更大的稀疏矩陣

mat = SparseArray[{Band[{1, 2}] -> U10, Band[{2, 1}] -> V10}, {n*n, n*n}] 
For[j = 0, j < n - 1, j++, mat += SparseArray[{Band[{1, 1 + (n*(j + 1))}]->U01, Band[{1 + (n*(j + 1)), 1}] -> V01}, {n*n, n*n}]] 

現在我想通過一些4X4矩陣更換項U10,V10,U01和V01這樣,原來的結構保存

感謝所有幫助

回答

0

一個SparseArray不能持有數組作爲元素。你需要轉換爲一個正常的數組,例如。

[email protected] /. {U10->{{1, 2},{3,4}},U01->{{1, 0},{0, 1}},... } 

如果您認爲轉換回稀疏數組:

SparseArray[mat] 

你的錯誤:

SparseArray::rect: Rectangular array or list of rules expected at position 1

,因爲你的陣列不是矩形。