matlab fprintf功能.docx
matlab fprintf功能 fprintf 功能简介 数据写入文本文件 www.iLoveM 语法 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.iLoveM 输入参数 fileID 下列其中一种: 一个整数,得到的FOPEN文件标识符。 1标准输出(屏幕)。 2标准错误。 默认:1(屏幕) format 在单引号的字符串,它描述了输出字段的格式。可以包括下列组合: 百分号后跟一个转换字符,如's的为字符串'。 算子描述字段宽度,精度,和其他选项。 文学文本打印。 转义字符,包括: '' 单引号 百分比字符 反斜杠 1 报警 book.iLoveM b 退格 f n t 换页 新行 回车 水平制表符 v 垂直制表 xN 十六进制数N N 八进制数N book.iLoveM 转换字符按下列顺序(显示包括 空格): 下表列出了可用的转换字符。 数值类型 转变 详情 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)k.iLoveM 文 %x Base 16 (hexadecimal), lowercase letters af %X %lu %lo %lx or %lX Same as %x, uppercase letters AF 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: 位数的小数点的权利。 For %g or %G 例如:'6.4f'打印为'3.1416圆周率' 数位有效数字。 book.iLoveM 例如:'6.4G打印为PI '3.142' 可以是一个数字或一个星号(*)是指输入列表中的一个论据。例如,输入列表('6.4f',圆周率)相当于('%*.* f的,6,4,圆周率)。 标志 行动 左对齐 打印符号字符(+或 - )。 插入前的价值空间。 垫零 标志 '' ' ' '0' 例子 %-5.2f % 5.2f %05.2f %#5.0f '+' Simulink与信号处理 %+5.2f 修改选定的数字转换: 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位数的指数不同的数字。 book.iLoveM 平台 UNIX 例子 1.23e+04 Windows 1.23e+004 book.iLoveM 不同的平台显示负零(-0)不同。 book.iLoveM 平台 转换字符 %e or %E %f Others A 数字或字符数组。 book.iLoveM 应用举例 多个值和文字打印到屏幕上的文字: B = 8.8 7.7 ; . 8800 7700; 0.000000e+00 -0.000000 -0 %g or %G 0 Windows 0.000000e+000 Matlab中文论坛 0.000000 fprintf('X is %4.2f meters or %8.3f mmn', 9.9, 9900, B) MATLAB的显示: X is 9.90 meters or 9900.000 mm book.iLoveM 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); 写一个短的指数函数表到一个文本文件称为exp.txt: www.iLoveM x = 0:.1:1; y = x; exp(x); % open the file with write permission fid = fopen('exp.txt', 'w'); fprintf(fid, '%6.2f %12.8fn', y); fclose(fid); % view the contents of the file type exp.txt MATLAB的导入功能,所有的UNIX应用程序,Microsoft Word和写字板承认的文件 n'作为换行符指标。不过,如果你打算阅读与Microsoft记事本,请使用' ñ文件'移动到新的一行时写作。 book.iLoveM 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('newfile.txt','w'); fprintf(fid, '%s', a_str); fclose(fid); % view the contents of the file type newfile.txt 在屏幕上显示一个超链接(MathWorks公司网站): site = '' title = 'The MathWorks Web Site' fprintf('%sn', site, title)