python3.10.14环境下控制matlab

主要参考
https://blog.csdn.net/qq_45676483/article/details/135622875

先卸载原来的,老版本2020a不支持3.10.14
https://blog.csdn.net/Pei_hua100/article/details/145173339

版本支持的python对照表:
https://ww2.mathworks.cn/support/requirements/python-compatibility.html

R2022b才支持py3.10 破解安装
https://pan.baidu.com/s/1VgEzhxaTwAuvNmGdxeoS5A?pwd=c3ar
https://www.bilibili.com/video/BV1Wa4y1d7Hf/?spm_id_from=333.337.search-card.all.click

安装完了,pip show显示了matlabengineforpython 9.13
但是import matlab.engine 无效 import不出来
setup.py中 确定了 _supported_versions = ['2.7', '3.8', '3.9', '3.10'] 我装的是2022b 但是还是有这个问题。

  File "<ipython-input-3-754f7d50ef2a>", line 1, in <module>
    import matlab.engine
  File "D:\software\PyCharm 2020.3.5\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'matlab'

为什么我在python console里import不了但是新建的脚本就行?
我pycharm的pythonconsole难道不是一个环境吗?
我就说为什么引入不到,明明site package都有engine包了


import matlab.engine

# 启动 MATLAB 引擎
eng = matlab.engine.start_matlab()

# 在 MATLAB 中执行一个简单的计算 最低2022b
result = eng.eval('2 + 3', nargout=1)
print("MATLAB 计算结果:", result)

# # 在 MATLAB 中创建一个数组
# matlab_array = eng.zeros(3, 3)  # 创建一个 3x3 的零矩阵
# print("MATLAB 创建的零矩阵:", matlab_array)
#
# # 从 Python 向 MATLAB 传递数据
# a = 5
# matlab_result = eng.sqrt(a)  # 计算平方根
# print(f"Python 传递数据 {a} 到 MATLAB,平方根为:", matlab_result)

# 关闭 MATLAB 引擎
eng.quit()

python engine太慢
,需要尝试MATLAB Compiler SDK

posted @ 2025-02-10 21:44  空心橙子  阅读(48)  评论(0)    收藏  举报