Matlab中的fread函数
Matlab中fread函数用法
“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
fread 使用注意
值得注意的是,fread是一列一列地填满A的。例如:
假设一个不换行的文件里含有:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ,
想要输入matlab时,令其这样排:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
则fread应该写成:A=fread(fid,[5,3]),得到:
1 6 11
2 7 12
3 8 13
4 9 14
5 10 15
然后再转置,就能得到正确结果了。
如果错误地写成A=fread(fid,[3,5]),则得到
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
显然即使转置也得不到正确结果。
另外,对于指定了precision的指令,如:A=fread(fid,[5,3],'short=>double'),
程序就会在文件中,以两个字节为单位提取原文件后变为8字节来填满A(因为short是2字节,double是8个字节)。
precision的缺省格式(即不显示时)为:‘uchar=>double’,所以程序默认是以字节为单位提取原文件数据后变为8字节来填满A的。
如A是一个字符串
那么直接fread读取A
>>fread(A)
那么读取到的是A中每个字母的ASCii码值!
再如B是一个字符串
那么fread(B) 将会是把每个字母单独做一行输出,而fread(B)' 转置则会把字母作为一列输出一直遇到回车键才换行!
实际案例:
B ='Who is this? \n is me!'
>>fread(B,'unit8=>char')
输出
W
h
o
[]%空格
i
s
[]
t
h
i
s
?
\
n
[]
i
s
[]
m
e
!
如果是:
>>fread(B,'unit8=>char')'
Who is this ? %遇到回车符换行
is me!
看到了吧,就是转置时 遇到了回车符那它就自动换行了,如果是没有转置, 则是一个字符一个字符读取那么分开读取\ 和n 则没有转义功能了,再说单字母成列也不需要“回车”了。
此外可参考博文:http://blog.csdn.net/fall221/article/details/7299712
Matlab中的fread函数的更多相关文章
- python实现类似于Matlab中的magic函数
参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵. #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy ...
- matlab中的eval函数使用
matlab中的eval函数使用 在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代 ...
- Matlab中的eig函数和Opecv中eigen()函数的区别
奇异值分解的理论参见下面的链接 http://www.cnblogs.com/pinard/p/6251584.html https://blog.csdn.net/shenziheng1/artic ...
- matlab中help所有函数功能的英文翻译
doc funname 在帮助浏览器中打开帮助文档 help funname 在命令窗口打开帮助文档 helpbrowser 直接打开帮助浏览器 lookfor funname 搜索某个关键字相关函数 ...
- matlab中的sub2ind函数
在matlab中,矩阵的存储是按列优先,sub2ind函数将矩阵中指定元素的行列下标转换成存储的序号,即线性索引号.下面,我们举例子进行说明. 1 建立一个3*4*2的矩阵 rng(0,'twiste ...
- matlab中CRC的函数使用
先学习一下matlab中CRC函数. 语法如下: h = crc.generator(‘Polynomial', polynomial, ‘param1', val1, etc.) 再看一个例子就比较 ...
- MATLAB中的参数估计函数详解及调用示例【联合整理】
前言 因为最近项目上的需要,才发现MATLAB的统计工具箱中的参数估计函数,觉得很简单很好用,现在把所有的参数估计函数整理一下,并在最后面附上调用示例. 参与人员 由于时间关系,这篇随笔是两个人一起整 ...
- Matlab中利用null函数解齐次线性方程组
摘自:http://blog.csdn.net/masibuaa/article/details/8119032 有齐次线性方程AX=0,且rank(A)=r<n时,该方程有无穷多个解, 可以用 ...
- MATLAB中的set函数
1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值.例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' .':'.'-.'.'- ...
随机推荐
- Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全
Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全 1. #====提升抽象层次1 2. #----使用通用单词1 3. #===使用术语..1 4. ...
- du df 查看文件和文件夹大小
http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html du -h df -h du -h --max-depth=1 // 查看当 ...
- 超酷的测速网站Ookla SPEEDTEST
测试网速的工具.网站估计不少,在百度一搜都能搜出一大堆,下面介绍一个国外测试网速的网站,用户体验相当棒,感觉酷毙了,那些其它测试网速的网站跟这个比起来,简直弱毙了.这个网速测试网站就是:http:// ...
- python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- 有关RDS上只读实例延时分析-同适用于自建MySQL主从延时分析判断
个人不是很喜欢在技术上跟人互喷,尤其是不在同一个岗位上的人.一方面本人的性格如此,另一方面,我自身的口水也确实是不行,人生经历了第一次的双11洗礼,在大促的环境下,总算知道了有些东西是否应该规避,这次 ...
- cocos2d-x之Action特效
bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getIn ...
- hyperv 创建第二代虚拟机
环境:宿主机windows 8.1,虚拟机:windows 8.1 硬件:笔记本电脑,无线网络,没有有线网络网络配置先不设置 1.安装hyperv,控制面版-->程序和功能-->启用或关闭 ...
- html弹窗半透明
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...
- R语言与数据分析
K最近邻(k-Nearest Neighbor,KNN)分类算法 R语言实现包:R语言中有kknn package实现了weighted k-nearest neighbor. 决策树: R语言实现决 ...
- Lua环境
1.前言 Lua将其所有的全局变量保存在一个常规的table中,这个table称为“环境”.这种组织结构的优点在于,其一,不需要再为全局变量创造一种新的数据结构,因此简化了Lua的内部实现:另一个优点 ...