Печать в командном окне без 'ans =' в matlab?

когда я использую sprintf, результаты показывают следующее:

sprintf('number=%d %d %d',a,b,c)
sprintf('or %d',h)  

ans = 

number= 5 4 2

ans =

or 2

Как я могу отобразить результаты без ans = препятствует их ?

2 ответов


можно использовать fprintf вместо sprintf. Не забудьте поставить новую строку \n в конце строки.


резюме

1: disp(['A string: ' s ' and a number: ' num2str(x)])

2: disp(sprintf('A string: %s and a number %d', s, x))

3: fprintf('A string: %s and a number %d\n', s, x)

подробности

цитата http://www.mathworks.com/help/matlab/ref/disp.html (отображение нескольких переменных в одной строке)

существует три способа отображения нескольких переменных в одной строке в командной Окно.

(1) объедините несколько строк вместе с помощью оператора []. Преобразуйте любые числовые значения в символы с помощью функции num2str. Затем используйте disp для отображения строки.

name = 'Alice';   
age = 12;
X = [name,' will be ',num2str(age),' this year.'];
disp(X)

Alice will be 12 this year.

(2) вы также можете использовать sprintf для создания строки. Завершите команду sprintf точкой с запятой, чтобы предотвратить отображение "X =". Затем, нажмите кнопку disp, чтобы отобразить строка.

name = 'Alice';   
age = 12;
X = sprintf('%s will be %d this year.',name,age);
disp(X)

Alice will be 12 this year.

(3) кроме того, используйте fprintf для создания и отображения строки. В отличие от функции sprintf, fprintf не отображает текст "X=". Однако вам нужно закончить строку метасимволом newline (\n), чтобы правильно завершить ее отображение.

name = 'Alice';   
age = 12;
X = fprintf('%s will be %d this year.\n',name,age);

Alice will be 12 this year.