matlab求可达矩阵
时间: 2023-05-16 19:01:15 浏览: 374
可达矩阵是描述图中所有节点间路径的矩阵,通俗地说,它能够告诉我们在有向图中,从一个节点能够到达哪些节点。matlab中求可达矩阵的方法比较简单,可以使用自带函数reachable,具体步骤如下:
1. 将有向图表示为邻接矩阵,即用0和1表示有没有边,其中1代表有向边的存在。
2. 使用matlab自带函数reachable来计算可达矩阵,reachable函数返回一个n*n的矩阵M,其中M(i,j)为1表示从节点i可以到达节点j,否则为0。
例如,对于以下有向图:
![image](https://user-images.githubusercontent.com/50966024/138335018-98339b0c-2050-4e2e-89fa-d38d001c4b05.png)
其邻接矩阵为:
![image](https://user-images.githubusercontent.com/50966024/138335083-7bbf98a2-1c49-4a6a-ba9e-8c4687577225.png)
可以直接使用matlab代码求出可达矩阵,代码如下:
```
A = [0 1 0 0 0; 0 0 1 1 0; 0 0 0 0 1; 0 0 1 0 1; 1 0 0 0 0];
M = reachable(A);
disp(M);
```
求解结果为:
![image](https://user-images.githubusercontent.com/50966024/138335169-b09b5a57-0c20-4c09-b226-0f702fd9d625.png)
即节点1能到达节点2、3和5,节点2能到达节点3和4,节点3能到达节点5,节点4能到达节点5,节点5不能到达任何节点。
相关推荐
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)