matlab给出两组数据,写出邻接矩阵
时间: 2023-08-23 17:56:42 浏览: 88
当给定两组数据时,可以使用 MATLAB 来构建邻接矩阵。假设第一组数据表示顶点之间的连接关系,而第二组数据表示边的权重。下面是一个示例代码,用于构建邻接矩阵:
```matlab
% 第一组数据:顶点之间的连接关系
vertices = [1, 2, 3, 4, 5];
connections = [1, 1, 2, 3, 4;
2, 3, 4, 5, 5];
% 第二组数据:边的权重
weights = [5, 2, 9, 7, 3];
% 获取顶点数量和边数量
numVertices = numel(vertices);
numEdges = numel(weights);
% 初始化邻接矩阵
adjMatrix = inf(numVertices, numVertices);
% 构建邻接矩阵
for i = 1:numEdges
from = connections(1, i);
to = connections(2, i);
weight = weights(i);
adjMatrix(from, to) = weight;
end
% 打印邻接矩阵
disp(adjMatrix);
```
在这个示例中,`vertices` 表示顶点的集合,`connections` 表示顶点之间的连接关系,`weights` 表示边的权重。代码首先计算顶点的数量和边的数量,然后初始化一个大小为 `numVertices x numVertices` 的邻接矩阵,并将所有元素初始化为 `inf`。接下来,通过遍历边的数据,将边的权重赋值给邻接矩阵中对应的位置。最后,使用 `disp` 函数打印邻接矩阵。
你可以根据自己的需求修改第一组数据 `vertices` 和 `connections`,以及第二组数据 `weights` 来构建不同的邻接矩阵。
阅读全文