| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4476 人关注过本帖
标题:[求助]我用[a,count]=fscanf(fid,format,size)出现的问题
只看楼主 加入收藏
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
收藏
 问题点数:0 回复次数:14 
[求助]我用[a,count]=fscanf(fid,format,size)出现的问题

我在一篇文献上看到,用上面的函数读取ASCII 文件,并将数据写入矩阵a。
我有一个ASCII 文件HSN1(来源于一个原始数据经过软件处理后,选择export as ASCII 得到的),调入Matlab,在但出的import wizard中,选择了默认的select column separator - tab,然后点next,再点finish,就完成了数据输入。产生的文件名是HSN1,Value是《16393*1》,class是cell,。(请问这里的Value和class分别是什么意思)
我想把这个文件的数据转换到矩阵中,写的程序如下请
>> fid=fopen(HSN1)

fid =

"stdin"

>> [A]=fscant(stdin)
??? Undefined function or variable 'stdin'.

>> [A]=fscant("stdin")
??? [A]=fscant("stdin")
|
Error: Missing variable or function.

请各位朋友帮忙看一下,问题出在哪,万分感谢!!!!

yZfojkrw.txt (306.38 KB) [求助]我用[a,count]=fscanf(fid,format,size)出现的问题


[此贴子已经被作者于2006-7-12 21:48:26编辑过]

搜索更多相关主题的帖子: fid format count fscanf size 
2006-07-12 21:29
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
fscant???

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-07-12 21:46
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
收藏
得分:0 
不好意思,应该是fscanf,大侠请留步

[此贴子已经被作者于2006-7-12 21:50:11编辑过]


2006-07-12 21:49
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 

你已经把文件HSN1读到workspace了,储存为一个变量名为HSN1的,16393行1列,单元类型的矩阵。

“我想把这个文件的数据转换到矩阵”,不理解你这句话的意思
如果要改变矩阵类型的话:
A=cell2mat(HSN1); %单元转字符串,位数不等不能转
B=str2double(A); %字符串转数


OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-07-12 23:40
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
收藏
得分:0 
多谢马里亚纳海沟!!!!
我看的文献是从维谱上下的,名叫“Matlab读入数据的几种方式探讨”,里面写道,[a,count]=fscanf(fid,format,size),该语句利用fscanf函数,从指定的文件中读取数据并将数据转换成format参数指定的格式,写入矩阵A。
我是想利用一些合适的函数,把我的实验数据(文本格式和ASCII格式的文件),写入矩阵里,进行进一步的统计分析。
我是初学者,问问题问的也不专业,给大家添乱了,不过还请各位大侠,都能走过路过进来看看,指点迷津啊,

[此贴子已经被作者于2006-7-13 9:01:11编辑过]

2006-07-13 09:00
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
收藏
得分:0 
您是说我把文件HSN1读到workspace了,同时就产生了一个矩阵是吗,哪就是说我就可以直接进行运算了,就不用再用那个函数进行转换了,不知我想的对不对

[此贴子已经被作者于2006-7-13 9:10:52编辑过]


2006-07-13 09:10
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 

是不是只要读你上传的那个

[此贴子已经被作者于2006-7-13 10:02:00编辑过]


OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-07-13 10:01
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
收藏
得分:0 

多谢马里亚纳海沟!!!
是的。那是一个核磁的图,我用一个处理核磁图的软件NUT处理后,save as ASCII 文件得来的。

2006-07-13 13:54
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
fid=fopen('text_1.txt','r');
A=[];
while(fgetl(fid)~=-1)
[A,count]=fscanf(fid,'%f');
if isempty(A)
fgetl(fid);
end
end

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-07-13 15:07
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 

在知道前8行不是你要转成矩阵的数据的情况下,对txt文件进行读取,建议用
[A(:,1),A(:,2)]=textread('text_1.txt','%f%f','headerlines',8);


OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-07-13 15:57
快速回复:[求助]我用[a,count]=fscanf(fid,format,size)出现的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019091 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved