hi.baidu/megachan/blog/item/a5197bfbe57961c6b48f3135.html
fprintf
功能简介
数据写入文本文件    www.iLoveMatlab
语法
fprintf(fileID, format, A, ...)
fprintf(format, A, ...)
count = fprintf(...)  Matlab中文论坛
描述
fprintf(fileID, format, A, ...)
适用的格式的数组的所有元素A 和 任何额外的数组参数列顺序,并写入数据到一个文本文件。 fprintf使用的编码方案在调用中指定的FOPEN
fprintf(format, A, ...)
格式的数据并显示在屏幕上的结果。
count = fprintf(...)  Matlab中文论坛
fprintf写入返回数字的字节。  book.iLoveMatlab
输入参数
fileID
下列其中一种:
一个整数,得到的FOPEN文件标识符。
1标准输出(屏幕)。
2标准错误。
默认:1(屏幕) 
format
在单引号的字符串,它描述了输出字段的格式。可以包括下列组合:
百分号后跟一个转换字符,如'%s的为字符串'。
算子描述字段宽度,精度,和其他选项。
文学文本打印。
转义字符,包括: 
''
 单引号
%%
百分比字符
\ \
反斜杠
\ 1
报警 book.iLoveMatlab
\ b
退格
\ f
换页
\n
新行
\
回车
\t
水平制表符
\ v
垂直制表
\xN
十六进制数N
\N
八进制数N
book.iLoveMatlab
转换字符按下列顺序(显示包括 空格): 
下表列出了可用的转换字符。 
数值类型
转变
详情 
Integer, signed
%d or %i
Base 10 values
%ld or %li
64-bit base 10 values
%hd or %hi
16-bit base 10 values
Integer, unsigned
%u
Base 10
%oatlab中文
Base 8 (octal)k.iLoveMatlab
%x
Base 16 (hexadecimal), lowercase letters a–f
%X
Same as %x, uppercase letters A–F
%lu
%lo
%lx or %lX
64-bit values, base 10, 8, or 1
%hu
%ho
%hx or %hX
16-bit values, base 10, 8, or 16
浮点数
%f
定点表示法
指数符号,如3.141593e +00
%E
 同为%e,但大写,如3.141593E +00
%g
 更紧凑的%e或%F,没有尾随零
%G
 更紧凑的%E或%F,没有尾随零
%bx or %bX
%bo
%bu
 双精度十六进制,八进制或十进制值
例如%bx  pi  打印为400921fb54442d18皮
%tx or %tX
%to
%tu
 单精度十六进制,八进制或十进制值
例如:%tx的圆周率打印为40490fdb
1.字符
%c
 单个字符
%s
 字符串中的字符
额外的运营商包括:
字段宽度
最小的字符数进行打印。可以是一个数字或一个星号(*)是指输入列表中的一个论据。例如,输入列表('%12d,intmax)相当于('%* D',12,intmax)。
精确
For %f, %e, or %E: 
位数的小数点的权利。
例如:'%6.4f'打印为'3.1416圆周率' 
 For %g or %G
 数位有效数字。 book.iLoveMatlab
例如:'%6.4G打印为PI '3.142'
可以是一个数字或一个星号(*)是指输入列表中的一个论据。例如,输入列表('%6.4f',圆周率)相当于('%*.* f的,6,4,圆周率)。 
标志
行动 
标志
 例子
 左对齐
 '–'
 %-5.2f
 打印符号字符(+或 - )。
 '+' 《Simulink与信号处理》
 %+5.2f
 插入前的价值空间。
' ' 
 % 5.2f
 垫零
 '0'
 %05.2f
 修改选定的数字转换: Matlab中文论坛
%o, %x, or %X,打印0,为0x或0X的前缀。
%f, %e, or %E,,打印精度小数点,即使是0。
为%g或%G号,请不要删除或尾随零小数点。
 '#'
 %#5.0f
识别码
为了使加工的投入。 n $的使用语法,其中n代表在输入列表中的值的位置。
例如,'%3$s %2$s %1$s %2$s' 《Simulink与信号处理》
的输出输'A', 'B', 'C' 的如下:C B A B.
下列限制适用于转换:
数字转换只打印了复数的实部。
如果您申请一个整数或字符串转换为数字值,它包含一个分数,MATLAB的覆盖指定的转换,并利用大肠杆菌%
如果您申请一个字符串转换(%s)到整型值,MATLAB的:
发出警告。
转换值,分别对应于有效的字符代码的字符。例如,'%s'的转换[65 66 67]为ABC。
不同的平台如%指数显示符号(e)与1位数的指数不同的数字。  book.iLoveMatlab
fprintf格式
 平台
 例子
 Windows
 1.23e+004
 UNIX
 1.23e+04 
book.iLoveMatlab
 不同的平台显示负零(-0)不同。  book.iLoveMatlab
 转换字符
平台 
 %e or %E
%f 
%g or %G 
 Windows
 0.000000e+000 Matlab中文论坛
0.000000
 
 0
 Others
 0.000000e+00
 -0.000000
 -0
A
数字或字符数组。  book.iLoveMatlab
应用举例
多个值和文字打印到屏幕上的文字: 
B = [8.8 7.7 ; ...
8800 7700];
fprintf('X is %4.2f meters or %8.3f mm\n', 9.9, 9900, B) 
MATLAB的显示: 
X is 9.90 meters or 9900.000 mm book.iLoveMatlab
X is 8.80 meters or 8800.000 mm
X is 7.70 meters or 7700.000 mm 
显式转换的分数双精度值整数值,并打印到屏幕上: 
a = [1.02 3.04 5.06];
fprintf('%d\n', round(a)); 
写一个短的指数函数表到一个文本文件称为:  www.iLoveMatlab
x = 0:.1:1;
y = [x; exp(x)];
% open the file with write permission
fid = fopen('', 'w');
fprintf(fid, '%6.2f %12.8f\n', y);
fclose(fid);
% view the contents of the file
 
MATLAB的导入功能,所有的UNIX应用程序,Microsoft Word和写字板承认的文件\ n'作为换行符指标。不过,如果你打算阅读与Microsoft记事本,请使用'\\ ñ文件'移动到新的一行时写作。
book.iLoveMatlab
fprintf(fid, '%6.2f %12.8f\r\n', y); 
在Windows系统,转换PC的风格指数符号(三个指数位)到UNIX风格的符号(2位数),并打印数据到文件: 
a = [0.06 0.1 5 300]
% use sprintf to convert the numeric data to text, using %e
a_str = sprintf('%e\t',a)
% use strrep to replace exponent prefix with shorter version
a_str = strrep(a_str,'e+0','e+');
a_str = strrep(a_str,'e-0','e-');
% call fprintf to print the updated text strings
fid = fopen('','w');
fprintf(fid, '%s', a_str);
fclose(fid);
% view the contents of the file
 
在屏幕上显示一个超链接(MathWorks): 
site = 'www.mathworks';
title = 'The MathWorks Web Site';
fprintf('%s\n', site, title) 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。