无向图的关联矩阵转化邻接矩阵matlab代码
时间: 2023-11-21 17:53:56 浏览: 45
```matlab
function W = convert(f, F)
% f为0时,将邻接矩阵F转化为关联矩阵W;f为1时,将关联矩阵F转化为邻接矩阵W
if f == 0
[m, n] = size(F);
W = zeros(m);
for i = 1:n
[x, y] = find(F(:, i));
for j = 1:length(x)
for k = j+1:length(x)
W(x(j), x(k)) = 1;
W(x(k), x(j)) = 1;
end
end
end
else
[m, n] = size(F);
W = zeros(m);
for i = 1:m
[x, y] = find(F(i, :));
for j = 1:length(x)
for k = j+1:length(x)
W(x(j), x(k)) = 1;
W(x(k), x(j)) = 1;
end
end
end
end
```
相关问题
matlab无向图的邻接矩阵代码
以下是matlab中生成无向图邻接矩阵的代码:
```matlab
% 生成一个无向图的邻接矩阵
n = 5; % 图中节点数
A = zeros(n); % 初始化邻接矩阵
A(1,2) = 1; A(2,1) = 1; % 添加边
A(2,3) = 1; A(3,2) = 1;
A(3,4) = 1; A(4,3) = 1;
A(4,5) = 1; A(5,4) = 1;
```
其中,n为图中节点数,A为邻接矩阵,A(i,j)表示节点i和节点j之间是否有边相连,1表示有,0表示没有。由于是无向图,因此邻接矩阵是关于对角线对称的,即A(i,j)=A(j,i)。
无向图的邻接矩阵代码
好的,以下是无向图的邻接矩阵代码:
```python
n = 5 # 图中节点数
graph = [[0] * n for _ in range(n)] # 初始化邻接矩阵
# 添加边
graph[0][1] = 1
graph[1][0] = 1
graph[0][2] = 1
graph[2][0] = 1
graph[1][2] = 1
graph[2][1] = 1
graph[1][3] = 1
graph[3][1] = 1
graph[2][4] = 1
graph[4][2] = 1
# 输出邻接矩阵
for i in range(n):
for j in range(n):
print(graph[i][j], end=' ')
print()
```
以上代码中,我们以一个无向图为例,初始化了一个 $5 \times 5$ 的邻接矩阵,然后添加了边,最后输出了邻接矩阵。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)