【问题标题】:Difference between disp and fprintfdisp 和 fprintf 的区别
【发布时间】:2018-11-01 14:32:03
【问题描述】:

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

【问题讨论】:

标签: matlab disp


【解决方案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,...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 写入的字节数。 Refer to this answer

参考:https://www.mathworks.com/help/matlab/ref/fprintf.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 2012-04-21
    • 2022-08-07
    • 1970-01-01
    相关资源
    最近更新 更多