加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MATLAB中fscanf/fread/print/fprint/disp/input命令的使用

(2017-03-14 19:43:03)
标签:

fscanf

fread

print

fprint

分类: MATLAB

fscanf:按指定格式从文件读取数据。

用法data = fscanf(fid,format,size); 其中data为读取内容的数组,大小由size决定。size是一个[m n]的向量,m为行,n为列(注意,这里读取的顺序是按列优先排列的),若ninf表示读到文件末尾,size参数不写的时候默认是读取到文件结束。fidfopen打开文件的返回值,format是格式化参数(像printfscanf)。如果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   不指定     :到尾返回读。

                 : 读出N个数据,构成列向量。

          inf       : 读出fid指向的打开的文件的全部数据。

          [M,N]     : 读出N个数据,构成列向量,填入M*N矩阵

precision(精度)

precision(精度)规定了以浮点数、整型数、字符读出时位。matlabprecision(精度)的表达式与c语言、fortran语言、是一致的。不规定precision(精度),则字符默认为: ucher、则数值默认为:双精度 。

      以下precision(精度)将保证读出具有一致的体积。

MATLAB           C or Fortran                 Descriphon(精度)

'char'               'char*l'                  8 位,字符型

'uchar'             'unsigned char'            8

'schar'              'signed char'             8 位,字符型

'int8'                'integer*1'              8 位,整型数

'intl6'               'integer*2'              16 位,整型数.

'int32'              'integer*4'               32 位,整型数.

'int64'              'integer*8'               64 位,整型数

'uint8'              'integer*l'                8

'uintl6'             'integer*2'                16

'uint32'            'integer*4'                32

'uint64'            'integer*8'                64

'float32'           'real*4'                   浮点数, 32

'float64'           'real*8'                   浮点数, 32

以下precision(精度)将不保证读出具有一致的体积。

MATLAB           C or Fortran             Descriphon(精度)

'short'              'short'                16 位,整型数

'int'                  'int'                32 位,整型数

'long'               'long'                 32 (64) 位,整型数

'uShort'           'Unsigned short'         16

'uint'               'Unsigned int'         32

'ulong'            'unsigned long'          32 (64)    

'float'              'float'                浮点数, 32

'double'           'double'                 浮点数, 64

以下precision(精度)规定读出指定的体积n

'bitN'          N位,整型数      1<=N<=64

'ubitN'         N位,            1<=N<=64

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         %c    单个字符 

2         %d    有符号十进制数(%i也可以) 

3         %u    无符号十进制数 

4         %f    浮点数(%8.4f表示对浮点数取8位宽度,同时4位小数) 

5         %o    无符号八进制数 

6         %s    字符串 

7         %x    小写a-f的十六进制数 

8         %X    大小a-f的十六进制数 

输出到文件会在Matlab当前的工作目录下生成test.txt文件


disp

disp函数直接将内容输出在Matlab命令窗口中。

Input:

input函数直接将内容输出在Matlab命令窗口中并要求输入字符或者数值。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有