Разница между дисп и фпринтф - PullRequest
0 голосов
/ 01 ноября 2018

В Matlab мне кажется, что обе команды disp и fprintf очень похожи в том, что они обе показывают, что показывают то, что вы говорите. В чем разница между этими 2 командами?

1 Ответ

0 голосов
/ 01 ноября 2018

Для disp отображается значение переменной .

Например

>> a = 1; disp(a)
     1

Другой пример.

>> disp('example')
example

Обратите внимание, 'example' можно рассматривать как переменную

Ссылка: https://www.mathworks.com/help/matlab/ref/disp.html


Для fprintf, если вы говорите об отображении на экране, формат будет

fprintf (formatSpec, A1, ..., An) форматирует данные и отображает результаты на экран.

Разница с disp заключается в том, что он не отображает значение переменной, если вы не укажете строку формата

Например, если вы склонны отображать значение переменной, вы получите ошибку

>> a = 1; fprintf(a)
Error using fprintf
No format string.

Вам необходимо указать строку формата. Например, строка формата: 'The value of a is %d\n'

a = 1; fprintf('The value of a is %d\n',a)
The value of a is 1

Если вы говорите о записи данных в текстовый файл, формат будет

fprintf (fileID, formatSpec, A1, ..., An) применяет formatSpec ко всем элементы массивов A1, ... в порядке столбцов и записывает данные в текстовый файл. fprintf использует схему кодирования, указанную в вызове Еореп.

Например

fileID = fopen('exp.txt','w');
fprintf(fileID,'The number is %d\n',1);
fclose(fileID);

Просмотр содержимого файла с помощью команды type.

>> type exp.txt

The number is 1

fprintf также может возвращать количество байтов, которое пишет fprintf. Обратитесь к этому ответу

Ссылка: https://www.mathworks.com/help/matlab/ref/fprintf.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...