注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

【转载】matlab写文件  

2012-10-11 15:16:11|  分类: M&M |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自若有梦《matlab写文件》
输入输出语句
(1) 实时交互输入输出
input;keyboard
(2)完全复制式的文件存取
*1) save
save            
save '文件名' x
save '文件名' x y z
save '文件名' x y z –ascii
save '文件名' x y z –ascii –double
save '文件名' x y z –ascii –double –tabs
save '已有文件名' x y z –append
注1:save 的默认文件名是 fname.m
注2:–ascii 8字节 ascii码方式
注3:–ascii 16字节 ascii码方式
注3:–ascii –double –tabs 格式排列
注3:–append 续后存放

*2) load
load
load '文件名'
注1:load 的默认文件名是 fname.m

(3)文件存取管理(建立与读写)

文件管理(打开、写入、读出、关闭、定位),

*1)“fopen”打开文件,赋予文件代号。

    语法1:FID= FOPEN(filename,permission)

用指定的方式打开文件

FID=+N(N是正整数):表示文件打开成功,文件代号是N.

FID=-1            : 表示文件打开不成功。

FID在此次文件关闭前总是有效的。

如果以读方式打开,matlab首先搜索工作目录,其次搜索matlab的其他目录,“permission”是打开方式参数。

打开方式参数由以下字符串确定:

r             读出

w             写入(文件若不存在,自动创建)

a             后续写入(文件若不存在,自动创建)

r+            读出和写入(文件应已存在)

w+            重新刷新写入,(文件若不存在,自动创建)

a+            后续写入(文件若不存在,自动创建))

w             重新写入,但不自动刷新

a             后续写入,但不自动刷新


文件的存储格式:文件打开的默认方式是:二进制。以文本方式打开,可以在方式参

数“permission”中加入“t”文件将,如“rt”,“wt+”


语法2:[fid,message]= FOPEN(filename,permission)

FID=-1 ,文件打开不成功时,返回错误信息


语法3:[fid,message]= FOPEN(filename,permission,machineformat)

permission: 用指定的方式打开文件。

machineformat: 指定读写时用的数据格式。

数据格式(machineformat)取值如下

'native' or 'n'      Local machine format - the default

'ieee-le' or 'l'     IEEE 浮点数( little-endian byte ordering)

'ieee-be' or 'b'     IEEE 浮点数( big-endian byte ordering)

'vaxd'    or 'd'     VAX D 浮点数 (VAX ordering)

'vaxg'    or 'g'     VAX g 浮点数 (VAX ordering)

'cray'    or 'c'     Cray 浮点数 (big-endian byte ordering)

长型数据

'ieee-le.l64' or 'a' IEEE 浮点数(little-endian byte ordering和64 位)

long data type

'iecc-be.l64' or 's' IEEE 浮点数(big-endian byte ordering和64 位)

long data tw


语法4: [filename,permission,machineformat]=fopen(fid)。

    查看打开文件的情况返回文件名、打开方式、文件格式。如果fid不存在,则返回变量。

    fid=fopen('allall')

返回当前所有打开的文件。


*2)“fwrite”以二进制形式,向文件写入数据。

语法1:count=fwrite(fid,a,precision)

将矩阵a 写入fid指向的打开的文件,matlab 自动将a元值转换成precision规定的精度(见后),写成列的形式。count是返回值,写入成功,返回写入数据个数,否则返回0。

语法2:count=fwrite(fid,a,precision,skip)

skip:取正整数n ,

将矩阵a 以步长n 跳选数值写入fid指向的打开的文件,例如,a=1,2,3,4,5,6,7,8,9 ;skip=2; 则输入 _,_,3,_,_,6,_,_,9。这对非连续数据场,定长插入数据极有意义。


*3)“fread”以二进制形式,从文件读出数据。

语法1:[a,count]=fread(fid,size,precision)

语法2:[a,count]=fread(fid,size,precision,skip)

size:    不指定     :到尾返回读。

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

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

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

precision(精度)

precision(精度)规定了以浮点数、整型数、字符读出时字节数。matlab 的precision(精度)的表达式与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


*4)从文件中有格式地读数据   fscanf

语法1:[a,count]=fscanf(fid,format,size)

根据指定的格式从fid 文件按照格式format读出数据并按size的格式放入内存。

a      :读出的数据放入内存的变量名

count :返回值。0:失败、n>0:成功,n是读出数据个数。

fid    :文件号

size   :a的数据的格式

N      : 列向量   

inf    : 读出文件全部数据

[M,N] : 读出数据以M*N的格式放入变量名a内

format :读出数据的格式

format是字符形式,与C语言基本相同。字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,…)搭配构成。

如:   %s:单字符读

       %c:读space字符

例:s=fscanf(fid,'%s')   返回一个字符。

a=fscanf(fid,'%5d') 返回一个五位十进制整数。

*5)关闭文件 fclose

语法1:fclose(fid)

语法2:fclose('all')

*6)向文件写数据 printf

语法1:count=printf(fid,format,a,b,s,……)

例:

x=0:0.1:1;

y=[x;exp(x)];

fid=fopen('exp.txt','w')

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

计算结果:

        0.0      1.00000000

        0.1      1.10517092

        1.00     2.71828183

*8) 指针放到文件头:frewind

语法1:frewind(fid)

, hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">以下precision(精度)规定读出指定的体积n。

'bitN'          N字节数,整型数      1<=N<=64

'ubitN'         N字节数,            1<=N<=64

*4)从文件中有格式地读数据   fscanf

语法1:[a,count]=fscanf(fid,format,size)

根据指定的格式从fid 文件按照格式format读出数据并按size的格式放入内存。

a      :读出的数据放入内存的变量名

count :返回值。0:失败、n>0:成功,n是读出数据个数。

fid    :文件号

size   :a的数据的格式

N      : 列向量   

inf    : 读出文件全部数据

[M,N] : 读出数据以M*N的格式放入变量名a内

format :读出数据的格式

format是字符形式,与C语言基本相同。字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,…)搭配构成。

如:   %s:单字符读

       %c:读space字符

例:s=fscanf(fid,'%s')   返回一个字符。

a=fscanf(fid,'%5d') 返回一个五位十进制整数。

*5)关闭文件 fclose

语法1:fclose(fid)

语法2:fclose('all')

*6)向文件写数据 printf

语法1:count=printf(fid,format,a,b,s,……)

例:

x=0:0.1:1;

y=[x;exp(x)];

fid=fopen('exp.txt','w')

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

计算结果:

        0.0      1.00000000

        0.1      1.10517092  

       1.00     2.71828183

*8) 指针放到文件头:frewind

语法1:frewind(fid)
  评论这张
 
阅读(516)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016