将枚举数据从python传递到MATLAB

2024-09-30 19:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从python脚本中调用MATLAB函数,其中一个MATLAB脚本使用enum参数

+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧+MATLAB侧

枚举定义

classdef eCharCents
    enumeration
        vQs1,vQv1,vQs2,vQv2     
    end 
end

这就是我运行MATLAB函数的方式

testFunction(eCharCents.vQv2)

与Python等效的+

我就是这样想的

import matlab.engine as MAT_ENG
from enum import Enum

class eCharCents(Enum):
     vQs1,vQv1,vQs2,vQv2 = range(0,4)  # I had to add range here as python needs data and value

print(eCharCents.vQs1)    # this outputs eCharCents.vQs1 

eng = MAT_ENG.start_matlab()
eng.testFunction(eCharCents.vQv2)   #  throws an error saying unsupported Data type

请告诉我是否有任何解决方案/意见/建议

MATLAB文档没有指定任何有关枚举的内容

https://www.mathworks.com/help/matlab/matlab_external/pass-data-to-matlab-from-python.html#bui0jkn


Tags: 函数import脚本asenumendmatlabmat