Matlab fopen,是否可以有一个数字文件名?
我有以下代码:Matlab fopen,是否可以有一个数字文件名?,matlab,fopen,Matlab,Fopen,我有以下代码: ptol = [2, 4, 8, ...]; a = ptol(1) fid = fopen( a,'r'); 我需要打开一个文件,该文件由从ptol调用的号码决定,即如果ptol(1)=2,则fopen应打开文件2 目前我收到错误“无效文件名”。我该如何解决这个问题 下面的代码是我需要用来“加载”文件中的数据的代码,我正在努力将这些文件打开到一个矩阵中 fileName = strcat(num2str(a),'.ext'); file = fopen(fileName,
ptol = [2, 4, 8, ...];
a = ptol(1)
fid = fopen( a,'r');
我需要打开一个文件,该文件由从ptol
调用的号码决定,即如果ptol(1)
=2,则fopen
应打开文件2
目前我收到错误“无效文件名”。我该如何解决这个问题
下面的代码是我需要用来“加载”文件中的数据的代码,我正在努力将这些文件打开到一个矩阵中
fileName = strcat(num2str(a),'.ext');
file = fopen(fileName,'r');
count = 1;
lines2skip = 4;
mat = zeros(29,872);
while ~feof(file)
if count <= lines2skip
count = count+1;
[~] = fgets(file); % throw away unwanted line
continue;
else
line = strtrim(fgets(file));
mat = [mat ;cell2mat(textscan(line, '%f')).'];
count = count +1;
end
end
fileName=strcat(num2str(a),'.ext');
file=fopen(文件名为'r');
计数=1;
lines2skip=4;
mat=零(29872);
而~feof(文件)
如果counta
是一个数字,我猜
因此,您需要指定一个与文件名对应的字符串。
这个文件有扩展名吗num2str
和strcat
应该起到神奇的作用
守则:
fileName = strcat(num2str(a),'.ext');
fid = fopen(fileName,'r');
请注意,.ext
必须替换为实际的扩展名。如果使用的是.txt
文件,则替换为.txt
另外,检查文件的位置(您需要指定确切的路径)。a
是一个数字,我猜
因此,您需要指定一个与文件名对应的字符串。
这个文件有扩展名吗num2str
和strcat
应该起到神奇的作用
守则:
fileName = strcat(num2str(a),'.ext');
fid = fopen(fileName,'r');
请注意,.ext
必须替换为实际的扩展名。如果使用的是.txt
文件,则替换为.txt
另外,检查文件的位置(您需要指定确切的路径)。文件2是什么意思?实际的文件名是什么?只是2.txt
?是的,实际名称是2.txt然后,正如Eleanore所建议的,您需要将a
从双tp字符串转换为双tp字符串,并添加正确的文件扩展名。埃莉诺的回答是正确的。另一个错误是,您没有将正确的文件id传递给feof
。它应该是,而~feof(fid)
<代码>文件未在代码中的任何位置定义。文件不是在第二行定义的吗?是的,是的,您是对的。我在看你问题中的第一段代码,你使用的是fid
作为文件ID,而不是文件
。正如Eleanore提到的,您需要用正确的文件扩展名替换'.ext'
,在您的情况下,文件扩展名是'.txt'
。检查文件返回的值。如果是-1,那么在某个地方就有一个错误:文件2是什么意思?实际的文件名是什么?只是2.txt
?是的,实际名称是2.txt然后,正如Eleanore所建议的,您需要将a
从双tp字符串转换为双tp字符串,并添加正确的文件扩展名。埃莉诺的回答是正确的。另一个错误是,您没有将正确的文件id传递给feof
。它应该是,而~feof(fid)
<代码>文件未在代码中的任何位置定义。文件不是在第二行定义的吗?是的,是的,您是对的。我在看你问题中的第一段代码,你使用的是fid
作为文件ID,而不是文件
。正如Eleanore提到的,您需要用正确的文件扩展名替换'.ext'
,在您的情况下,文件扩展名是'.txt'
。检查文件返回的值。如果它是-1,那么在某个地方就有一个错误:混合结果。我得到错误:“使用feof无效文件标识符时出错。使用fopen生成有效文件标识符时出错。在Untitled4(第20行)中出错,而~feof(文件)”我将用我的所有代码编辑上面的帖子。根据你的代码,你需要打开文件“2.ext”,而你在评论中说你的文件名是“2.txt”。显然,“.ext”需要替换为实际扩展名。很容易看出fopen
命令是否有错误:如果得到fid=-1
,则无法正确读取文件。结果好坏参半。我得到错误:“使用feof无效文件标识符时出错。使用fopen生成有效文件标识符时出错。在Untitled4(第20行)中出错,而~feof(文件)”我将用我的所有代码编辑上面的帖子。根据你的代码,你需要打开文件“2.ext”,而你在评论中说你的文件名是“2.txt”。显然,“.ext”需要用实际扩展名替换。很容易看出您是否在使用fopen
命令时出错:如果您得到fid=-1
,那么您没有正确读取文件。