2013-10-08 7 views
-1

как получить сообщение журнала из окна команд MATLAB? есть функция, которая позволяет это делать?получить форму сообщения MATLAB command line

пример:

вызвать функцию myFun() и эта функция возвращает булево 0,1, но я хотел бы проверить, что это отображение как сообщение в команде MATLAB

Благодарности

+0

Не могли бы вы перефразировать вопрос или предоставить пример того, что вы хотели бы видеть? Я не уверен, что полностью понимаю ваш вопрос. – Greg

+1

Выполняет ли команда 'дневник' то, что вы хотите? См. Http://www.mathworks.co.uk/help/matlab/ref/diary.html – am304

+1

уже в третий раз вы задаете этот вопрос в первый раз [здесь] (http://stackoverflow.com/questions/19094421/call-system-command-in-matlab), вы были недовольны, но вы приняли. Вы никогда не указывали, что не так с моим решением. Ваш второй вопрос, я думаю, что это было вчера, вы удалили, поскольку никто не отреагировал. И теперь снова. Я бы рекомендовал вам написать четкий и неповторимый вопрос со всем, что вы уже пробовали, и что именно не так со всеми вашими попытками, включая ошибки. Если это не поможет, у вас хватит репутации за щедрость. Кто-то найдет решение. – thewaywewalk

ответ

1

Не конечно, но, возможно, вы хотите добавить такие вещи, как:

disp('my function is doing step 1') 

disp('my function is doing step 2') 

и т. д. в соответствующих местах вдоль вашей функции.

Что делает то же самое, что оставить строку без точки с запятой в конце строки.

0

evalc в принципе должны сделать трюк:

>> s = evalc('disp(''hello'')') 
s = 
hello 

Аналогично можно использовать diary, которая, однако, ввести несколько больше накладных расходов из-за файл Io:

diary_file = tempname(); 
diary(diary_file); 
myFun(); % will dump the console-output to diary_file 
diary('off'); 
% read the output 
console_output = fileread(diary_file); 
+0

моя функция возвращает o или 1 – lola

+0

можно ли разобрать console_output для проверки содержимого? – lola

+0

Ну, конечно, вы можете, это будет простая строка. Если это действительно только «0» или «1» (без каких-либо других символов), вы могли бы фактически выполнить «result = str2double (console_output);». – sebastian