产生一个信息表-大学物理知识点总结
8.6 格式化I/O函数
第八章输入/输出函数第233页详细介绍了格式字符串中的第一个转换指定符与fprintf
函数输出参数列表中的第一个值相结合,依此类推。每一个格式转换指定符的类型与输出数据类型必须相同。指示符%d
与变量a
联合,%f
与变量b
结合,%s
与变量c
相结合。注意指定符类型必须与数据类型相匹配。代码示例如下:
a = 10;
b = pi;
c = 'Hello';
fprintf('Output: %d %f %s ', a, b, c);
在函数fprintf
运行完所有的变量之前,如果扫描已经到达格式字符串的结尾,程序再次从头开始扫描格式字符串。语句:
a = [10 20 30 40];
fprintf('Output = %4d ',a);
将会产生输出:
Output = 10
Output = 20
Output = 30
Output = 40
在打印完a(2)
后,函数到达格式字符串的结尾,它将会回到字符串的开始打印a(3)
,a(4)
。如果函数fprintf
在到达格式字符结束之前运行完所有的变量,格式字符串的应用停止在第一个格式指定符,而没有对应的变量,或者停止在格式字符串的末端。例如:
a = 10;
b = 15;
c = 20;
fprintf('Output = %4d Output = %4.1f ', a, b, c);
将产生输出:
Output = 10
Output = 15.0
Output = 20
格式字符串的应用停止在%4.1f
,因为它第一次与格式转换指示符不匹配。另一方面,语句:
voltage = 20;
fprintf('Voltage = %6.2f kv. ', voltage);
将产生输出:
Voltage = 20.00 kv.
因为它与格式转换字符串匹配,所以格式的应用停止在格式字符串的结尾。
例8.2 产生一个信息表
产生并打印一个数据表是说明函数fprintf
使用的好方法。下面的脚本产生1到10中的所有整数的平方根,平方,立方,并在一个表中显示数据,并带有合适的表头。
% Script file: table.m
% Purpose: To create a table of square roots, squares, and cubes.
% Record of revisions:
% Date Programmer Description of change
% 12/20/98 S. J. Chapman Original code
% Define variables:
cube -- Cubes
ii -- Index variable
square -- Squares
square_roots -- Square roots
对于那些对fprintf
函数的细节有更多兴趣的读者,可以查看这篇详细讲解fprintf类函数的文章;如果你想了解更多关于fprintf
和fscanf
函数的知识,可以参考这篇深入分析文章。这些资源会让你对格式化I/O函数有更全面的理解!
下载地址
用户评论