在matlab中编写多输出文件
我希望在特定文件夹中的不同文件中定期编写代码输出。 我使用的代码如下:在matlab中编写多输出文件,matlab,file-io,Matlab,File Io,我希望在特定文件夹中的不同文件中定期编写代码输出。 我使用的代码如下: for i=1:m % some other things if (mod(i,1000)==0) y=[1:dx:n_x;c_initial.']; fn = ['/home/alekhine' num2str(i) '.dat']; fid=fopen(fn); fprintf(fid,'%6.4f %12.8f\n',y); fclose(fid)
for i=1:m
% some other things
if (mod(i,1000)==0)
y=[1:dx:n_x;c_initial.'];
fn = ['/home/alekhine' num2str(i) '.dat'];
fid=fopen(fn);
fprintf(fid,'%6.4f %12.8f\n',y);
fclose(fid);
end
end
但是我从Matlab得到的误差如下
Error using ==> fprintf
Invalid file identifier. Use fopen to generate a valid file
identifier.
。代码中有什么错误?任何帮助都将不胜感激。您没有将
权限
参数授予fopen函数,因此它仅用于阅读
有关
权限的有效值,请参见文档()
您没有将权限
参数指定给fopen函数,因此它是为只读而打开的
请参阅文档()以了解
权限的有效值在路径生成过程中,您似乎缺少路径分隔符:
fn = ['/home/alekhine' num2str(i) '.dat'];
应该是:
fn = ['/home/alekhine/' num2str(i) '.dat'];
您似乎在路径生成中缺少路径分隔符:
fn = ['/home/alekhine' num2str(i) '.dat'];
应该是:
fn = ['/home/alekhine/' num2str(i) '.dat'];
仅供参考,构建文件名的首选方法是使用。在这种情况下,您可以这样做
fn = fullfile('/home/alekhine', [num2str(i), '.dat']);
首选FULLFILE,因为它可以理解不同操作系统类型上的不同文件分隔符(即Windows上的\
和UNIX/Mac上的/
)仅供参考,构建文件名的首选方法是使用。在这种情况下,您可以这样做
fn = fullfile('/home/alekhine', [num2str(i), '.dat']);
首选FULLFILE,因为它可以理解不同操作系统类型上的不同文件分隔符(即Windows上的\
和UNIX/Mac上的/
)在/home/alekhine
@mathematicsian1975之后,您似乎缺少路径分隔符,感谢您的指导。发布错误。@Thor,非常感谢,路径设置正确。。。!!。如果您将您的评论作为答案发布,我可以将其标记为正确。您在/home/alekhine
@mathematician1975之后似乎缺少路径分隔符,谢谢您的指导。发布错误。@Thor,非常感谢,路径设置正确。。。!!。如果你把你的评论作为答案,我可以把它标记为正确的。非常感谢沃伦的回复。似乎我没有正确设置路径。您提供的参考资料将对将来有用。非常感谢Warren的回复。似乎我没有正确设置路径。你提供的参考资料对将来的工作很有用。