Я пытаюсь запустить функции MATLAB из python.Я следую MathWorks Tutorial .В этом уроке они указывают, что вывод из скрипта MATLAB можно просматривать на python.Пример, который они приводят, имеет следующий код
% This code is in a MATLAB script called triarea.m
b = 5;
h = 3;
a = 0.5*(b.* h) % Notice that there is no semicolon to suppress output.
Часть Python:
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
Предполагается, что скрипт Python выводит
a =
7.5000
. Это прекрасно работает, когдазапускать его как обычный скрипт на Python (например, используя PyCharm).Тем не менее, ничего не печатается, когда этот код Python выполняется с помощью ноутбука Jupyter.
Как получить правильный вывод при запуске кода Python с помощью ноутбука Jupyter?
До сих пор я пытался указатьстандартный выход (как предложено в здесь ).А именно, мой код на Python теперь читается как
import io
out = io.StringIO()
eng.triareaf(nargout=0, stdout=out)
Однако я все еще не могу получить правильный вывод.Я использую Python 3.5, MATLAB R2017a, Jupyter версии 4.4.0 и Windows 10.