在Matlab打电话给Python

2次观看(最近30天)
安东尼·西里科(Anthony Sirico)
在以下代码中,我对伪代码和Python代码进行了深度搜索。我的第一个问题是如何在MATLAB中调用此程序?
我可以使用以下内容:
系统('python dfs.py'
但是我想称其为:
py.dfs();
并将数据存储在MATLAB中,但是当我执行代码时,它说无法解析名称py.dfs。
我的第二个问题是,如何将Python中的代码更改为获取MATLAB邻接列表并在代码中运行的位置,而不是将邻接列表直接放在Python代码中?
DFS(g,u)
U.Visited = true
为了每个v在g.adj [u]中
如果v.visited == false
DFS(G,V)
在里面() {
每个u在g中
U.Visited == false
每个u在g中
DFS(g,u)
}
DFSPython中的算法
DFS算法
防守DFS(图,启动,访问=无):
如果访问是没有任何:
访问= set()
访问add(开始)
打印(开始)
为了接下来图[开始] - 访问:
DFS(图,下一步,访问)
返回参观
图= {'1': 放(['2',,,,'4',,,,'5']),,
'2': 放(['1',,,,'4',,,,'3']),,
'3': 放(['2',,,,'4',,,,'6']),,
'4': 放(['1',,,,'2',,,,'3',,,,'5',,,,'6',,,,'7']),,
'5': 放(['1',,,,'4',,,,'7',,,,'8']),,
'6': 放(['3',,,,'4',,,,'7',,,,'10']),,
'7': 放(['4',,,,'5',,,,'6',,,,'8',,,,'10']),,
'8': 放(['5',,,,'7',,,,'9']),,
'9': 放(['8',,,,'10']),,
'10': 放(['6',,,,'7',,,,'9'))}}
DFS(图,'1'
n = len(图)
S = POW(N,N-2)数量跨越树图
打印(“这是跨树的数量:”,S)
Python
算法
MATLAB
图理论
深度优先

答案(1)

阿比塞克·普拉丹(Abhisek Pradhan)
您可以尝试使用MATLAB R2014B中引入的Python界面。您的机器上需要Python。
一些可能会有所帮助的资源:
并在Python中使用MATLAB工作区变量,请参阅下面提到的示例链接。

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!