Я просто хочу вызвать две команды matlab из Python: команда fist просто добавляет папку и подпапки для нужного пути (addpath(genpath('c:/file1/file2'))
), а вторая команда вызывает функцию, которую я хочу использовать (myfunction.m
).вызов нескольких команд matlab из python с использованием os.system
Я всегда os.system("command")
, когда мне нужно, чтобы вызвать функцию и os.system("command1 | command2")
, когда я хотел назвать две функции, например, так что я пробовал:
os.system("matlab -r addpath(genpath('c:/file1/file2')) | matlab -r myfunction")
Но очевидно, что это открывает два MatLab окна, первый для команда кулака и вторая для второй команды. Я хочу, чтобы они вызывали обе команды в одном окне один за другим. Однако, если я пытаюсь просто:
os.system("matlab -r addpath(genpath('c:/file1/file2')) -r myfunction")
это не работает ... Он выполняет первую команду (addpath
), но он не вызывает функцию ....
Что я делаю неправильно ?? Любая идея о том, как это сделать? Я читал много сообщений, но они были не очень полезны, даже если это очень простой случай.
Спасибо заранее, ребята! Я очень ценю вашу помощь
Спасибо sooo much @Amro !! Это работает отлично! :) Это дает командное окно matlab, отличное от обычного, но это не проблема :) – anna
@ user2252592: это опция '-nodesktop', вы можете удалить ее, если хотите. Ниже приведены страницы документов для всех параметров командной строки: http://www.mathworks.com/help/matlab/ref/matlabwindows.html, http://www.mathworks.com/help/matlab/ref/matlabunix.html – Amro