在 MATLAB 中同时访问两个矩阵

Accessing two matrices simultaneously in MATLAB

我有两个矩阵,其中一个是邻接矩阵:

另一个矩阵正在存储上述矩阵的索引,如下所示:

我想同时对矩阵的第 1 行(即 [1 5 7])应用一些操作,如何在 MATLAB 中仅访问原始邻接矩阵的第 1、5 和 7 行?

您可以使用数组作为邻接矩阵的行索引,您可以将其存储在临时变量中或直接将其传递给函数。

tmp = adjacency([1 5 7], :);
dothing(tmp)

% Or
dothing(adjacency([1 5 7], :));

您也可以再次使用数组作为索引分配回那些相同的行

adjacency([1 5 7], :) = dothing(adjacency([1 5 7], :));

假设 M 是您的矩阵,您可以通过以下操作访问 Matrix 的特定元素:M(i,j) 其中 i 和 j 是您的行号和列号。

您可以通过以下方式访问列:M(:,j)其中 j 是您的列

您可以通过以下方式访问线路:M(i,:)我是您的线路