Calling python function using Matlab Python Coexecution

2 次查看(过去 30 天)
Hello everyone, I was trying to integrate my Neural Network model which is written in python to my simulink model. For this Integration I am using the Matlab python Coexecution option. After a demo Coexection (using my ML model and random inputs from matlab) it worked perfectly and predicted those random values as it should. Once I test there I created a matlab function in Simulink and tried to call this python model but somehow I am getting this error. "Attempt to extract field 'infer' from 'mxArray'. Function 'AEB_Trigger/MATLAB Function3' (#38.1529.1537), line 30, column 14: "py_model"
FYI: the inputs for the Matlab and or Python model are coming from another environment (virtual simulation), but I am quite sure that doesnt have an effect on this error. The Coexecution even works in the Matlab Command window, but having a problem when it is connected to those inputs.
Matlab Verison:2021a
Python: 3.7
Thank you very much for the time;)

回答(1 个)

Oliver Jaehrig
Oliver Jaehrig 2024-10-10
I can simply recommend to put the code into it's own function which would create a layer around it and then use coder.extrinsic to declare this particular function as extrinsic and then call this function in the MATLAB Function block.
The function itself should only get inputs and outputs with valid Simulink types. Such errors occur since Simulink cannot handle this special type since the object you get is not handled as extrinsic.
So the additional function should solve this actually.
If you need any further support, please also consider to contact our Technical Support department.
  1 个评论
Wiz
Wiz 2024-10-15
Thank you very much for the reply, So I recreated the code in its own function iself like attached above, but I am still getting the same error/sometimes my matlab crashes, as you have said I will probably contact Technical Support department. But again thank you a lot!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Call Python from MATLAB 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by