admin 管理员组

文章数量: 1086019


2023年12月19日发(作者:乱世三义蘑菇)

/megachan/blog/item/

fprintf

功能简介

数据写入文本文件

语法

fprintf(fileID, format, A, ...)

fprintf(format, A, ...)

count = fprintf(...)

描述

fprintf(fileID, format, A, ...)

适用的格式的数组的所有元素A 和 任何额外的数组参数列顺序,并写入数据到一个文本文件。 fprintf使用的编码方案在调用中指定的FOPEN。

fprintf(format, A, ...)

格式的数据并显示在屏幕上的结果。

count = fprintf(...) Matlab中文论坛

fprintf写入返回数字的字节。

输入参数

fileID

下列其中一种:

一个整数,得到的FOPEN文件标识符。

1标准输出(屏幕)。

2标准错误。

默认:1(屏幕)

format

在单引号的字符串,它描述了输出字段的格式。可以包括下列组合:

百分号后跟一个转换字符,如'%s的为字符串'。

算子描述字段宽度,精度,和其他选项。

文学文本打印。

转义字符,包括:

''

单引号

%%

百分比字符

反斜杠

1

报警

b

退格

f

n

t

xN

N

换页

新行

回车

水平制表符

十六进制数N

八进制数N

v

垂直制表

转换字符按下列顺序(显示包括 空格):

下表列出了可用的转换字符。

数值类型

转变

Integer, signed

%d or %i

详情

Integer,

unsigned

Base 10 values

%ld or %li

64-bit base 10 values

%hd or %hi 16-bit base 10 values

%u Base 10

%oatlab中Base 8 (octal)

%x Base 16 (hexadecimal), lowercase letters

a–f

%X

%lu

%lo

%lx or %lX

Same as %x, uppercase letters A–F

64-bit values, base 10, 8, or 1

%hu

%ho

16-bit values, base 10, 8, or 16

浮点数

%hx or %hX

定点表示法

%f

指数符号,如3.141593e +00

%E

同为%e,但大写,如3.141593E +00

更紧凑的%e或%F,没有尾随零

%g

更紧凑的%E或%F,没有尾随零

%G

%bx or %bX

双精度十六进制,八进制或十进制值

例如%bx pi 打印为400921fb54442d18皮

%bo

%bu

%tx or %tX

单精度十六进制,八进制或十进制值

例如:%tx的圆周率打印为40490fdb

%to

1.字符

%tu

%c

%s

单个字符

字符串中的字符

额外的运营商包括:

字段宽度

最小的字符数进行打印。可以是一个数字或一个星号(*)是指输入列表中的一个论据。例如,输入列表('%12d,intmax)相当于('%* D',12,intmax)。

精确

For %f, %e, or %E:

位数的小数点的权利。

例如:'%6.4f'打印为'3.1416圆周率'

For %g or %G

数位有效数字。

例如:'%6.4G打印为PI '3.142'

可以是一个数字或一个星号(*)是指输入列表中的一个论据。例如,输入列表('%6.4f',圆周率)相当于('%*.* f的,6,4,圆周率)。

标志

行动

左对齐

打印符号字符(+或 - )。

插入前的价值空间。

垫零

标志

'–'

例子

%-5.2f

'+' 《Simulink与信号处理》

%+5.2f

' '

% 5.2f

'0'

%05.2f

%#5.0f

'#'

修改选定的数字转换: Matlab中文论坛

%o, %x, or %X,打印0,为0x或0X的前缀。

%f, %e, or %E,,打印精度小数点,即使是0。

为%g或%G号,请不要删除或尾随零小数点。

识别码

为了使加工的投入。 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位数的指数不同的数字。

平台

例子

Windows

1.23e+004

UNIX

1.23e+04

不同的平台显示负零(-0)不同。

转换字符

%g or %G

0

%e or %E

%f

平台

Windows

0.000000e+000 Matlab中文论坛

0.000000

Others

A

数字或字符数组。

应用举例

多个值和文字打印到屏幕上的文字:

B = [8.8 7.7 ; ...

8800 7700];

0.000000e+00

-0.000000

-0

fprintf('X is %4.2f meters or %8.3f mmn', 9.9, 9900, B)

MATLAB的显示:

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

显式转换的分数双精度值整数值,并打印到屏幕上:

a = [1.02 3.04 5.06];

fprintf('%dn', round(a));

写一个短的指数函数表到一个文本文件称为:

x = 0:.1:1;

y = [x; exp(x)];

% open the file with write permission

fid = fopen('', 'w');

fprintf(fid, '%6.2f %12.8fn', y);

fclose(fid);

% view the contents of the file

type

MATLAB的导入功能,所有的UNIX应用程序,Microsoft Word和写字板承认的文件 n'作为换行符指标。不过,如果你打算阅读与Microsoft记事本,请使用'ṛ ñ文件'移动到新的一行时写作。

fprintf(fid, '%6.2f %12.8frn', 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('%et',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

type

在屏幕上显示一个超链接(MathWorks公司网站):

site = '';

title = 'The MathWorks Web Site';

fprintf('%sn', site, title)


本文标签: 转换 字符 打印 数字