Разница между дисп и фпринтф
В Matlab мне кажется, что disp
а также fprintf
обе команды очень похожи в том, что они обе показывают то, что вы говорите. В чем разница между этими 2 командами?
1 ответ
За 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 использует схему кодирования, указанную в вызове fopen.
Например
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