1

在 Matlab 中,在我看来,dispfprintf命令都非常相似,因为它们都显示来显示你告诉它的内容。这两个命令有什么区别?

4

1 回答 1

3

对于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,...An 的所有元素,并将数据写入文本文件。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

于 2018-11-01T03:39:33.720 回答