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 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by