Python call matlab function 'plot', The figure disappeared in few seconds.
显示 更早的评论
When I use python call the matlab funtion plot, the figure only exists few seconds, then it colsed automatically. Why does have this phenomenon occur? How could I change or add something? Thank you very much.
AddTset.m
function c = AddTest(a,b)
c = a + b;
figure(1)
plot(a,c,'DisplayName','test');
%pause(30);
end
pyCallMat.py
import matlab.engine
if __name__ == '__main__':
eng = matlab.engine.start_matlab()
a = eng.AddTest(1.0,2.0)
print(a)
b = eng.sqrt(4.)
eng.figure(3.0)
eng.plot(a, b, nargout=0)
print(b)
4 个评论
Mohammad Sami
2020-3-24
I presume this maybe because the variable eng get cleared after your function is finished executing. this might perhaps close the matlab engine.
Tianya Duan
2020-3-24
Tianya Duan
2020-3-26
Villa Xue
2022-3-11
Thank you a lot, It works when use: input("Press Enter to continue...") in python
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Call MATLAB from Python 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!