Assertion error Matlab R202b
4 次查看(过去 30 天)
显示 更早的评论
Dear,
Currently I am using Python to request some data from Matlab. I perform this by first enabling the shared option with Matlab using:
matlab.engine.shareEngine()
Following this I attempt to connect with matlab inside Python using:
try:
findSes = matlab.engine.find_matlab()
eng = matlab.engine.connect_matlab(findSes[0])
except EngineError:
eng = matlab.engine.start_matlab()
This usually works, but somehow it sometimes can't connect which results in that the script does not execute. Another error which exists is the following one, which appears in the Python kernel:
Assertion failed: frame‑>index() == index
Function: unsigned __int64 __cdecl foundation::msg_svc::transport::layers::message::Message::append(class std::unique_ptr<class foundation::catapult::carrier::framing::Frame,struct std::default_delete<class foundation::catapult::carrier::framing::Frame> > &&), file b:\matlab\foundation\message_services\transport\layers\message\message.cpp, line 149
I hope someone could assist me on how to solve this error.
Thanks
0 个评论
回答(1 个)
Hiro Yoshino
2021-4-21
I am not sure what you're trying to do though, one of the most frequent mistakes peopel make is data type incompatibility.
You should specify the data type as follows:
try:
findSes = matlab.engine.find_matlab()
eng = matlab.engine.connect_matlab(double(findSes[0]))
except EngineError:
eng = matlab.engine.start_matlab()
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!