ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:21.98KB ,
资源ID:16134674      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16134674.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab中二进制数据的读取2Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Matlab中二进制数据的读取2Word格式.docx

1、读取MATLAB下的MAT数据格式的数据aviread.avi读取AVI格式的音频视频数据cdfread.cdf读取CDF格式的数据hdf.hdf读取HDF格式的数据imread.bmp .cur .gif .hdf .ico.jpg .pbm .pgm .png .pnm.ppm .pcx .tif .xwd .ras读取各种格式的图形数据wavread.wav读取 Windows 系统的声音文件xlsread.xls读取 Excel 电子表格数据2.3.2 二进制数据的存写要以一种标准二进制格式来存写二进制数据,可以使用 MATLAB 提供的高端函数,函数的选择取决于要存写数据的类型,这些

2、函数如表2-5所示。表2-5 导出二进制数据函数save存写MATLAB下的MAT数据格式的数据avifile存写AVI格式的音频视频数据cdfwrite.cdf 存写CDF格式的数据存写HDF格式的数据imwrite存写各种格式的图形数据wavwrite存写 Windows 系统的声音文件xlswrite存写 Excel 电子表格数据在MATLAB中可以将一系列的图像保存为电影,这样使用电影播放函数就可以进行回放,保存方法可以同保存其他MATLAB工作空间变量一样,通过采用MAT文件格式保存。但是若要浏览该电影,必须在MATLAB环境下。在以某种格式存写一系列的MATLAB图像时,不需要在M

3、ATLBA 环境下进行预览,通常采用的格式为AVI格式。AVI是一种文件格式,在PC 机上的Windows系统或UNIX操作系统下可以进行动画或视频的播放。若要以AVI格式来存写MATLAB图像,步骤如下:(1) 用avifile函数建立一个AVI文件。(2) 用addframe函数来捕捉图像并保存到AVI 文件中。(3) 使用close函数关闭AVI文件。注意:若要将一个已经存在的MATLAB电影文件转换为AVI文件,需使用函数movie2avi。函数原型为:movie2avi(mov,filename)movie2avi(mov,filename,param,value,param,val

4、ue)2.4 使用文件I/O函数前面介绍的都是MATLAB中的一些高级函数,除此之外MATLAB还包含了一组低端的文件I/O函数,如前面介绍的所有文件的打开和关闭函数:fopen函数和fclose函数。这些函数是建立在ANSI标准C库中的I/O函数。若用户对C语言熟悉的话,那么也肯定熟悉这些函数。比如,MATLAB 文件I/O函数使用和C语言同样的编程模式等。要读写这些数据,需进行以下几步:(1) 使用fopen函数打开文件。fopen函数将会返回一个文件标志,通过它,就可以使用其他所有的低端文件I/O函数。(2) 对文件进行操作,如:读写二进制数据、格式化读写文本数据等。(3) 使用fclo

5、se函数来关闭文件。2.4.1使用fread函数可从文件中读取二进制数据,它将每个字节看成整数,并将结果以矩阵形式返回。对于读取二进制文件,fread必须制定正确的数据精度。fread的基本调用方法是:A=fread(fid)其中fid是一个整数型变量,是通过调用fopen函数获得的,表示要读取的文件标识符,输出变量A为矩阵,用于保存从文件中读取的数据。例如文件test.txt的内容如下:test it用fread函数读取该文件,输入如下命令: f=fopen(test.txt,r); answer=fread(f)answer = 116 101 115 32 105输出变量的内容是文件数据

6、的ASCII码值,若要验证读入的数据是否正确,通过下面的命令可以验证。 disp(char(ans1)fread函数的第二个输入参数可以控制返回矩阵的大小,例如: answer=fread(f,2)也可以把返回矩阵定义为指定的矩阵格式,例如 an=fread(f,2 3) 116 115 101使用fread函数的第三个输入变量,可以控制fread将二进制数据转成MATLAB 矩阵用的精度,包括一次读取的位数(Number of Bits)和这些位数所代表的数据类型。常用的精确度类型有下列几种,如表2-6所示。表2-6 常见的精确度类型数 据 类 型说 明char带符号的字符(通常是8h16)

7、uchar无符号的字符(通常是8bits)short短整数(通常是16bits)long长整数(通常是16bits)float单精度浮点数(通常是32bits)double双精度浮点数(通常是64bis)2.4.2 二进制数据的写入使用fwrite函数可将矩阵按所指定的二进制格式写入文件,并返回成功写入文件的大小。函数的调用方式如下:count=fwrite(fid,A,precision)其中,count用来返回写入文件数据的大小,f参数同样是通过fopen函数获得的整数型变量,表示文件标识符,A表示要写入的数据矩阵,第三个参数precision同二进制读取函数的参数一样,表示数据的写入格式

8、。在下例中fwrite产生一个大小为100字节的二进制文件,它包含了一个55阶魔方矩阵,共25个元素,每个元素占用4个字节。f=fopen(magic5.bin, w);fwrite(f,magic(5), int32fclose(f)二进制文件在不同的计算机架构上可能存储方式不同,所以二进制文件存在兼容性问题,而文本文件则不存在这种兼容性问题。不同的存储方式导致在不同架构上保存的二进制文件在另外的平台上无法读取,这主要是因为多字节数据类型在计算机硬件上的存储顺序不同。在MATLAB中,无论计算机上的数据存储顺序是哪一种,都可以读写二进制文件,但要正确地调用fopen函数打开文件。2.4.3

9、格式化读取ASCII码数据fscanf函数与C语言中的fscanf在结构、含义和使用上都很相似,即能够从一个有格式的文件中读入数据,并将它赋给一个或多个变量。两个函数都采用同一组格式指定符来控制输入数据的格式,fscanf的格式指定符由字符%开头,常用格式如表2-7所示。表2-7 常见的用于输入的格式转换符格式转换符意 义%c读取字符型变量,也可以指定多个字符,%3c%s读取字符串变量%d读取整数型变量%f读取浮点数%g读取双精度浮点数例如,我们仍然读取my_test.dat文件中的数据,其数据内容是: 4.5646767e-001 8.2140716e-001 6.1543235e-001

10、1.8503643e-002 4.4470336e-001 7.9193704e-001通过下面这段代码,将该文件中的数据读取到列向量T中。my_test.dat T=fscanf(f,%g fclose(f)也可以通过以下代码段把文件数据读取到一个32矩阵A中。 A=fscanf(f,,3 2);执行后结果如下,这时候A矩阵恰好是文件中数据矩阵的转置。 AA = 0.4565 0.0185 0.8214 0.4447 0.6154 0.79192.4.4 格式化写入文本数据fprintf将会把数据转换为字符串,并将它们输出到屏幕或文件中。一个格式控制字符串包含转换指定符和可选的文本字符,通过

11、它们来指定输出格式。转换指定符用于控制阵列元素的输出。当fprint函数做标准输出,也就是运行结果显示在屏幕上的时候,它的功能和disp函数相类似,区别仅在于fprint可以输出特定格式的文本数据。比如,创建一个22的魔方矩阵,然后打开一文件,写入数据。 clear all; x=magic(2); fid=fopen(exam4.txt fprintf(fid,%4.2f %8.4fn,x); fclose(fid);执行这段程序段之后,我们可以检验一下执行结果: xx = 1 3 4 2 type exam4.txt1.00 4.00003.00 2.0000可以看出,fprintf函数在打印显示矩阵数据时,数据转换规则是可以按列方式循环作用于矩阵的各个元素的,这个例子中显示出来的结果就好像原矩阵的转置,而且分别按数据转换规则显示。2.4.5 控制文件位置指针每一次打开文件时,MATLAB就会保持一个文件位置指针(File Position Indicator),由它决定下一次进行数据读取或写入的位置。控制此指针的函数如表2-8所示。表2-8 控制位置指针的函数功 能 说 明fseek设定指针位置ftell获得指针位置frewind重设指针到文件起始位置feof测试指针是否在文件结束位置

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1