2012-04-02 2 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 (in 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, в частности, блокирует открытые файлы, чтобы их нельзя было читать или писать другими программами. –

Смежные вопросы