Просмотр вывода кода MATLAB, запущенного из Python, с помощью ноутбука Jupyter - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь запустить функции 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.

1 Ответ

0 голосов
/ 05 февраля 2019

Если у вас все еще открыт терминал (т. Е. Тот, на котором запущен сервер Jupyter), вы найдете ожидаемый выход.

Кстати, это не решение, а просто обходной путь.... все еще ищу способ отображения вывода терминала прямо в ноутбуке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...