Проблема в том, что команда Matlab unix()
возвращает только переменную состояния по умолчанию.Вы должны сказать ему, чтобы он также возвращал стандартный вывод, который упоминается в документации Matlab для этой функции .Значение 0
, которое вы видите, является переменной состояния, а 0
означает «успех».
То, что вы хотите сделать, это:
[status, result] = unix(['script.sh ' string]);
disp(result);
Кроме того, здесьявляется ссылкой , которая помогает объяснить форматирование строки в Matlab и включает в себя пример добавления одиночной кавычки в строку.Это достигается повторением символа одинарной кавычки дважды подряд внутри строки.Итак, '' '' дает '
, потому что внутри двух внешних одинарных кавычек я поместил две последовательные одинарные кавычки.Это отличается от использования двойной кавычки на клавиатуре, которая производит двойные кавычки.Таким образом, вы можете написать строку массива как:
>> string = '''1 2 3 4 5'''
string = '1 2 3 4 5'