2011-05-14 70 views
4

我有一堆不同大小的相關矩陣,並希望能夠逐步訪問它們。有沒有一種簡單的方法來在Matlab中創建一個處理向量或指向這些矩陣的指針?或者這不是我應該這樣做的方式?如何在Matlab中創建一個手柄/指向矩陣的數組?

例如,在這裏我想分配給用i索引的向量,這將是不同大小矩陣的句柄。

rows = [1:6]; 
columns = [10:2:20]; 
for i=1:6 
    vector_of_pointers(i) = ones(rows(i),columns(i)); 
end 
+0

可能重複你的陣列http://stackoverflow.com/questions/466972/array-of-matrices-in-matlab ) – gnovice 2011-05-15 05:39:39

回答

3

在Matlab中,沒有真正的指針。

相反,你可以收集陣列中的單元陣列,像這樣

rows = [1:6]; 
columns = [10:2:20]; 
for i=1:6 
    arrayOfArrays{i} = ones(rows(i),columns(i)); 
end 

要訪問,比方說,陣列#3,你寫arrayOfArrays{3},如果你只希望它的第二排,你寫arrayOfArrays{3}(2,:)

您還可以創建使用的([矩陣在MATLAB中的數組] ARRAYFUN

arrayOfArrays = arrayfun(@(u,v)ones(u,v),rows,columns,'uniformOutput',false) 
相關問題