我有一个大的NxN矩阵a,我如何使用列向量pnRowsToSelect = [row1;row2;…;a (row1,col1), a (row2, col2),…, A(rowM, colM) when row1, row2,…, rowM可以是任何行(不一定是连续的)——列也一样。即“pnRowsToSelect”是其对应的列为“pnColsToSelect”的行,这样“pnRowsToSelect”的第I行和“pnColsToSelect”的第I行就是我想返回的A的第I个元素。
例如,"A= rand(10000);"和"pnRowsToSelect= [1;1000;" and "pnColsToSelect =[10 5 100];",然后我想有A(1,10), A(1000, 5),和A(4,100)。我尝试了“A(pnRowsToSelect, pnColsToSelect)”,这个返回A(1,10), A(1,5), A(1,100);A(1000,10), A(1000, 5), A(1000,100);A(4,10), A(4,5), A(4,100)]它的对角元素就是我要找的。因此,我可以使用“diag(A(pnRowsToSelect, pnColsToSelect))”。有没有更有效的方法来做这件事?