因为matlab的内存实在太大了,所以我只在实验室电脑安装了matlab,自己电脑没有安装,现在跑实验需要把matlab文件转成python文件。在网上找到可以使用smop小工具。
我是在本地的anaconda转换的。先创建一个新环境到指定路径
conda create --prefix=D:\ProgramFiles\Anaconda3\envs\CIR python=3.7
其中这里的D:\ProgramFiles\Anaconda3文件夹下的envs文件夹要真实存在,CIR是你的虚拟环境名称。创建环境过程中报错了
InvalidArchiveError("Error with archive C:\Users\肖丽芳\.conda\pkgs\pip-23.1-pyhd8ed1ab_0\.cph_tm
错误没有及时截图,大概就是InvalidArchive,是因为没有以管理员身份运行Anaconda Prompt。以管理员身份运行即可。创建好了虚拟环境之后,就可以下载smop。
下载smop
pip install smop -
然后在你新建的虚拟环境下找到smop模块,例如我的是在D:\ProgramFiles\Anaconda3\envs\CIR\Scripts
将要转换的matlab代码.m文件移动到smop所在文件夹下,打开命令行,输入:smop xxx.m
报错:
AttributeError: ‘DiGraph’ object has no attribute ‘node’
在resolve.py中修改报错那句代码:
再次执行,就会在窗口出现如下字符:
然后在此文件夹下可以看到一个同名python文件: