Problems with fscanf

[EDIT: Sat May 14 02:19:15 UTC 201 - Reformat - MKF]
Why is this wrong ?
fid = fopen ('dados.txt', 'r');
dados = fscanf(fid, '%g %g', [9 inf]);
fclose (fid);
dados = dados' ;
This is what I have at my "dados" file:
20000 218.66 224.29 222.77 99.42 96.92 97.58 0.81 2.59
... A (3000x9) matrix with numbers like that
And this is what MATLAB suggests :
??? Error using ==> fscanf
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in ==> programa at 2
dados = fscanf(fid, '%g %g', [9 inf]);

1 个评论

Note: you will want
dados = fscanf(fid, '%g', [9 inf]) .';
if you want the resulting matrix to be row-oriented like the input is.

请先登录,再进行评论。

 采纳的回答

Ricardo
Ricardo 2011-5-14

0 个投票

Hahaha, sorry, but I found the answer, the guy who has sent me the file saved it as "dados.txt" so the name of the file isn´t only "dados".

2 个评论

but in your problem statement, you are opening dados.txt already ?
I think Ricardo means that the full name of the file, including extension is:
dados.txt.txt

请先登录,再进行评论。

更多回答(1 个)

Matt Fig
Matt Fig 2011-5-14

0 个投票

For some reason FOPEN did not find dados.txt. Is it in your current directory?

类别

帮助中心File Exchange 中查找有关 Low-Level File I/O 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by