2012-04-02 5 views
0
R=1; 

N=7; 

fid = fopen('x.txt', 'w'); 


for i=1:N; 

    if i==1 

    TO=i-1; 

    else 

    TO=i; 

end 

if (i==1) 

     FROM=1; 
else 

    FROM=i-1; 

end 

fprintf(fid, 'R %6.0f%6.0f %6.2f \r\n',FROM,TO,R); 

end 

fclose(fid); 

誰でも次のエラーで私を助けることができますか?私はMatlab 7.11.0を使用しています==> fprintf(Matlabで)を使用しているエラー

??? Error using ==> fprintf 
Invalid file identifier. Use fopen to generate a valid file 
identifier. 

Error in ==> Untitled at 26 
    fprintf(fid, 'R%6.0f%6.0f %6.2f \r\n',FROM,TO,R); 

答えて

0

問題はFOPENステートメントにあります。書き込み先のファイルx.outを開くことができませんでした。おそらく許可のためです。現在の作業ディレクトリは何ですか(pwd)、書き込みアクセス権があることを確認してください。

より意味のあるエラーメッセージが必要な場合は、fid変数をテストします。ファイルを開くことができない場合、-1に等しくなります。

assert(fid ~= -1, 'Cannot open the file') 
+1

'x.out'を書き込むことができないもう一つの理由は、すでに存在し、別のプログラムで開いている可能性があります。特に、Microsoft Excelは、開いているファイルをロックして、他のプログラムが読み書きできないようにします。 –