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 Comment

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

Sign in to comment.

 Accepted Answer

Ricardo
Ricardo on 14 May 2011

0 votes

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 Comments

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

Sign in to comment.

More Answers (1)

Matt Fig
Matt Fig on 14 May 2011

0 votes

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

Tags

Asked:

on 14 May 2011

Community Treasure Hunt

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

Start Hunting!