В этом примере показано, как передать массив ячеек MATLAB® функции Python®.
Следующий модуль Python содержит функциональный theend, который добавляет текст в конец списка. Создайте текстовый файл, скопируйте этот модуль Python и сохраните файл как mymod.py в перезаписываемой папке, например, вашем prefdir папка.
# mymod.py
"""Python module demonstrates passing MATLAB types to Python functions"""
def search(words):
"""Return list of words containing 'son'"""
newlist = [w for w in words if 'son' in w]
return newlist
def theend(words):
"""Append 'The End' to list of words"""
words.append('The End')
return words
Добавьте папку, содержащую mymod.py к пути поиска файлов Python с помощью append метод list ввод.
P = py.sys.path; append(P,prefdir);
Откройте файл выборочных данных MATLAB, создав массив ячеек, LastName.
load patients.mat
Преобразуйте массив ячеек в 1- N py.list массив.
L = py.list(LastName'); class(L)
ans = py.list
Вызовите mymod.theend в списке.
py.mymod.theend(L);
Функция Python не делает возвращаемой переменной L как выходной аргумент. Вместо этого функция обновляет значение ссылкой.
Просмотрите последний элемент в списке.
L{end}ans = Python str with no properties. The End
Можно передать переменную L к другим функциям Python.