一、输出文本和数组值
A1 = [9.9, 9900];
A2 = [8.8, 7.7 ; ...
8800, 7700];
formatSpec = 'X is %4.2f meters or %8.3f mm\n';
fprintf(formatSpec,A1,A2)
==> ==> ==> ==> ==> ==> ==> ==>
X is 9.90 meters or 9900.000 mm
X is 8.80 meters or 8800.000 mm
X is 7.70 meters or 7700.000 mm
formatSpec 输入中的 %4.2f 指定输出中每行的第一个值为浮点数,字段宽度为四位数,包括小数点后的两位数。formatSpec 输入中的 %8.3f 指定输出中每行的第二个值为浮点数,字段宽度为八位数,包括小数点后的三位数。\n 为新起一行的控制字符。
二、将双精度值输出为整数
a = [1.02 3.04 5.06];
fprintf('%d\n',round(a));
==> ==> ==> ==> ==>
1
3
5
formatSpec 输入中的 %d 将向量 round(a) 中的每个值作为有符号整数输出。\n 为新起一行的控制字符。
三、将表格数据写入文本文件
将指数函数的短表写入到名为 exp.txt 的文本文件。
x = 0:.1:1;
A = [x; exp(x)];
fileID = fopen('exp.txt','w');
fprintf(fileID,'%6s %12s\n','x','exp(x)');
fprintf(fileID,'%6.2f %12.8f\n',A);
fclose(fileID);
第一个对 fprintf 的调用输出标题文本 x 和 exp(x),第二个调用输出变量 A 的值。
如果打算使用 Microsoft 记事本读取文件,请使用 ‘\r\n’ 而不是 ‘\n’ 移到新行。例如,将对 fprintf 的调用替换为下列项:
fprintf(fileID,'%6s %12s\r\n','x','exp(x)');
fprintf(fileID,'%6.2f %12.8f\r\n',A);
MATLAB 导入函数、所有 UNIX 应用程序以及 Microsoft Word 和写字板都将 ‘\n’ 识别为换行指示符。
通过 type 命令查看文件的内容。
type exp.txt
==> ==> ==> ==> ==>
x exp(x)
0.00 1.00000000
0.10 1.10517092
0.20 1.22140276
0.30 1.34985881
0.40 1.49182470
0.50 1.64872127
0.60 1.82211880
0.70 2.01375271
0.80 2.22554093
0.90 2.45960311
1.00 2.71828183