标题:[求助]我用[a,count]=fscanf(fid,format,size)出现的问题
取消只看楼主
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
 问题点数:0 回复次数:7 
[求助]我用[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
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
得分:0 
不好意思,应该是fscanf,大侠请留步

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


2006-07-12 21:49
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
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
得分:0 

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

2006-07-13 13:54
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
得分:0 
谢谢,马里亚那海沟!!!多谢您的关注!!!

您的回复已经很详细了,虽然我一下子来不能全明白,但我会仔细研究的,有问题还请您多关照。




matlab不是我的专业,现在的感觉是举步为艰,不知道您有过这种感觉没?原以为自学一下,再照着书和文献写的一步步进行,没想到问题还是不少,自己的自信心都快没了!不好意思,扯远了。我还是抓紧时间看吧。
2006-07-14 08:57
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
得分:0 

谢谢,马里亚那海沟!!!好感动啊!
我是学东西比较慢的,不像你们很快就能接受。
我刚才查了一下Help,
在textread中写道,
As an alternative to textread, use the Import Wizard. To activate the Import Wizard, select Import Data from the File menu.这句话是说textread和Import Wizard的功能是一致的吧,那我用Import Wizard调入文件后,还要用到textread命令吗?

那个文件的前八行,是应该删去,不列入矩阵进行下一步计算的,所以我在用Import Wizard调入文件后,有用了textread命令。其中fid的返回值是stdin,(我查了stdin是文件指针的意思,指示文件在内存中的位置,这个解释对吗)
fid=fopen(HSN1)

fid =

"stdin"

>> [A(:,1),A(:,2)]=textread('stdin','%f%f','headerlines',8)
??? Error using ==> textread
File not found.

其实fid的返回值是stdin时,是否就说明,我用Import Wizard调入的文件本身就有问题啊。

我看不行,就又单独用下面的试了一下


>> [A(:,1),A(:,2)]=textread('HSN1','%f%f','headerlines',8)
??? Error using ==> textread
File not found.

提示还是错误,那是否也说明了我用Import Wizard调入的文件本身就有问题啊

2006-07-14 11:40
happyddm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-5-24
得分:0 

多谢,马里亚那海沟!!!
我现在有的是《Matlab7.0从入门到精通》,像上面类似的基础问题里面没写,您能否推荐一本最基础的教材。

2006-07-14 15:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-77976-1-1.html




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

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