В этом примере показано, как передать массив ячеек 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.