24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1652  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

bme000

银虫 (小有名气)

[交流] 【求助】如何用matlab读取文件中带符号的、带两位小数点的数字?已有3人参与

各位大侠,如何用fread正确读取.txt文件中带符号的、带两位小数点的数字?
fid=fopen(‘normal.txt’,‘r’)
ref=fread(fid,6,‘?’)
上面的问号应该填什么?

[ Last edited by bme000 on 2010-6-3 at 10:26 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bme000

银虫 (小有名气)

zzuwangshilei:积极关注自己的帖子 2010-06-04 11:13:17
引用回帖:
Originally posted by lijinfeng042 at 2010-06-03 12:36:39:

复制几行数据看看 也好测试嘛~

下面是前四行的数据
+42.55  +25.16  +18.75  +48.13  +41.53  +38.49  +18.52  +15.51  
+83.34  +49.25  +36.89  +91.49  +76.28  +70.85  +32.63  +30.43  
+61.87  +32.98  +21.13  +65.51  +52.10  +48.14  +21.58  +22.39  
+58.68  +32.93  +18.30  +65.38  +54.93  +49.61  +33.80  +27.73  
~~
4楼2010-06-04 08:00:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

lijinfeng042

木虫 (小有名气)

Matlab

bme000(金币+4):谢谢帮助~~ 2010-06-04 07:57:15
引用回帖:
Originally posted by bme000 at 2010-06-03 09:39:09:
各位大侠,如何用fread正确读取.txt文件中带符号的、带两位小数点的数字?
fid=fopen(‘normal.txt’,‘r’)
ref=fread(fid,6,‘?’)
上面的问号应该填什么?

[ Last edited by bme000 on 2010-6-3 ...

复制几行数据看看 也好测试嘛~
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
2楼2010-06-03 12:36:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyt0828

木虫 (职业作家)

bme000(金币+3):谢谢交流~~~ 2010-06-04 07:57:37
[a,count]=fread(fid,size,precision)
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(精度)规定读出指定的体积n。
'bitN'          N字节数,整型数      1<=N<=64
'ubitN'         N字节数,            1<=N<=64

所以你说的?那里填的是精度,这个就看你自己处理数据的要求填写了
答应不爱你
3楼2010-06-03 14:31:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


robert2020(金币+1):多谢解答!辛苦了~~ 2010-06-04 22:44:57
引用回帖:
Originally posted by bme000 at 2010-06-03 09:39:09:
各位大侠,如何用fread正确读取.txt文件中带符号的、带两位小数点的数字?
fid=fopen(‘normal.txt’,‘r’)
ref=fread(fid,6,‘?’)
上面的问号应该填什么?

[ Last edited by bme000 on 2010-6-3 ...

直接读就可以了
[a,b,c,d,e,f,g,h]=textread('xx.txt',' %f  %f  %f  %f %f %f  %f  %f ')
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
5楼2010-06-04 11:27:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见