pyrun

Запустите операторы Python из MATLAB

    Описание

    пример

    pyrun(code) выполняет Python® операторы в code в Интерпретаторе Python.

    Переменные создали использование pyrun функция является персистентной. Можно использовать эти переменные в последующих вызовах pyrun.

    пример

    outvars = pyrun(code,outputs) возвращает любую переменную, сгенерированную Python к MATLAB®, путем определения имен переменных Python в outputs и получение возвращенных значений в outvars.

    пример

    outvars = pyrun(code,outputs,pyName=pyValue) выполняет код с присвоенными именами переменных ввода и вывода с помощью данных MATLAB, переданных одними или несколькими аргументами name-value.

    Примеры

    свернуть все

    Этот пример выполняет эти операторы Python в Интерпретаторе Python.

    greeting = "hello"
    print(greeting)

    Вызовите код Python из MATLAB.

    pyrun(["greeting = 'hello'", "print(greeting)"])
    hello

    Переменный greeting существует только в пространстве имен Python. MATLAB отображает результаты print оператор в командной строке MATLAB.

    Этот код Python создает список дней недели.

    days = ['Monday','Tuesday','Wednesday','Thursday','Friday']

    Создайте переменную Python days для функции списка. В MATLAB назовите переменную mllist.

    mllist = pyrun("days = ['Monday','Tuesday','Wednesday','Thursday','Friday']","days")
    mllist = 
      Python list with no properties.
    
        ['Tuesday', 'Monday', 'Wednesday', 'Thursday', 'Friday']
    

    Этот пример выполняет оператор a = b*c в Интерпретаторе Python с заданными входными значениями.

    pyrun("a = b*c", b = 5, c = 10)

    Переменные aB, и c существуйте только в пространстве имен Python. Однако эти переменные доступны для дальнейших вызовов pyrun.

    md = pyrun("d = a+c", "d")
    md = 60

    Этот пример выполняет b*c в Python и возвращает результаты в переменную MATLAB.

    res = pyrun("a = b*c", "a", b=5, c=10)
    res = 50

    Этот пример присваивает локальную переменную переменной Python, чтобы сделать его доступным в MATLAB.

    Создайте модуль localModule.py.

    def myFunc():
        print('myFunc executed')
    mvar = 3

    Создайте переменную m получить доступ к mvar и присвойте значение переменной MATLAB out.

    pyrun("import localModule")
    out = pyrun("m = localModule.mvar","m")

    Входные параметры

    свернуть все

    Один или несколько операторов Python в виде строкового скаляра, массива строк, вектора символов, символьного массива, массива ячеек из символьных векторов или объекта Python кода скрипта, сгенерированного с помощью Python встроенный compile функция. Каждая запись представляет линию кода Python.

    Чтобы вызвать однострочный оператор, передайте code как строковый скаляр или вектор символов. Чтобы вызвать многострочные операторы Python, передайте code как массив строк, символьный массив или массив ячеек из символьных векторов. MATLAB вставляет символы новой строки между элементами многострочных операторов.

    Пример: pyrun(["a = 3","print(a)"])

    Одно или несколько имен Входного параметра и значений, чтобы передать code PythonВ виде ключевого слова и аргументов значения. pyName имя Python переменной и pyValue присвоенное значение. Можно задать несколько имен и аргументов пары значения в любом порядке как pyName1=pyValue1,...,pyNameN=pyValueN.

    Пример: pyrun("b*c",b=5,c=10) инициализирует переменные b и c для оператора Python b*c.

    Одни или несколько имен переменных Python в виде массива строк. Переменные могут быть локальными или глобальными. MATLAB присваивает выход code к каждой переменной, названной outputs и возвращает значения в outvars.

    Пример: mb = pyrun("b=a+2","b",a=5)

    Выходные аргументы

    свернуть все

    Одни или несколько имен переменных рабочего пространства MATLAB, возвращенных как допустимый Python, вводят от code. Задайте имена переменных Python в outputs аргумент. Если вы хотите получить доступ к данным Python, то необходимо явным образом возвратить объекты Python в MATLAB с помощью outvars.

    Чтобы задать несколько выходных параметров, используйте квадратные скобки. Например, [res1,res2] = pyrun("a=b*c",["a","b"],b=5,c=10) возвращает два outvars, res1 и res2.

    Смотрите также

    Введенный в R2021b