MATLAB中fscanf/fread/print/fprint/disp/input命令的使用
(2017-03-14 19:43:03)
标签:
fscanffreadfprint |
分类: MATLAB |
fscanf:按指定格式从文件读取数据。
用法data = fscanf(fid,format,size); 其中data为读取内容的数组,大小由size决定。size是一个[m n]的向量,m为行,n为列(注意,这里读取的顺序是按列优先排列的),若n取inf表示读到文件末尾,size参数不写的时候默认是读取到文件结束。fid为fopen打开文件的返回值,format是格式化参数(像printf、scanf)。如果fscanf读取数据时遇到不是format指定的数据格式时则停止读取数据。fscanf读取数据时会忽略空格,直到回车为止!
format可用格式:
-
%b - Binary number
%b – 二进制数 -
%c - The character according to the ASCII
value
%c – 某字符所对应的ASCII值 -
%d - Signed decimal number
%d – 包含正负号的十进制数(可包含正负数) -
%e - Scientific notation (e.g. 1.2e+2)
%e – 科学技术符号(例如:1.2e+2) -
%u - Unsigned decimal number
%u – 不包含正负号的十进制数 -
%f - Floating-point number (local settings
aware)
%f – 浮点数字(本地属性) -
%F - Floating-point number (not local settings
aware)
%F – 浮点数字(非本地属性) -
%o - Octal number
%o – 十进制数字 -
%s - String
%s – 字符串 -
%x - Hexadecimal number (lowercase letters)
%x – 十六进制数(小写字母) -
%X - Hexadecimal number (uppercase letters)
%X – 十六进制数(大写字母)
fread: 以二进制形式,从文件读出数据。
语法1:[a,count]=fread(fid,size,precision)
语法2:[a,count]=fread(fid,size,precision,skip)
size:
precision(精度)
precision(精度)规定了以浮点数、整型数、字符读出时位。matlab 的precision(精度)的表达式与c语言、fortran语言、是一致的。不规定precision(精度),则字符默认为: ucher、则数值默认为:双精度 。
MATLAB
'char'
'uchar'
'schar'
'int8'
'intl6'
'int32'
'int64'
'uint8'
'uintl6'
'uint32'
'uint64'
'float32'
'float64'
以下precision(精度)将不保证读出具有一致的体积。
MATLAB
'short'
'int'
'long'
'uShort'
'uint'
'ulong'
'float'
'double'
以下precision(精度)规定读出指定的体积n。
'bitN'
'ubitN'
print:
print函数可以把函数图形保存成图片:
print('-dpng', 'sin.png')表示保存为png图片,文件名为sin.png,其中第一个参数可以是:
-dbmp:保存为bmp格式
-djpeg:保存为jpeg格式
-dpng:保存为png格式
-dpcx:保存为pcx格式
-dpdf:保存为pdf格式
-dtiff:保存为tiff格式
fprintf:
fprintf函数可以将数据按指定格式写入到文本文件中:
fprintf(fid, format, data)中的fid表示由fopen函数打开的文件句柄,如果fid省略,则直接输出在屏幕上,format是字符串形式的输出格式,data是要输出的数据。其中format可以为:
1
2
3
4
5
6
7
8
输出到文件会在Matlab当前的工作目录下生成test.txt文件
disp:
disp函数直接将内容输出在Matlab命令窗口中。
Input:
input函数直接将内容输出在Matlab命令窗口中并要求输入字符或者数值。