我有以下代码:
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
答案 0 :(得分:4)
a
是一个数字。
因此,您需要指定与文件名对应的字符串。
该文件是否有任何扩展名? num2str
和strcat
应该发挥魔力。
代码:
fileName = strcat(num2str(a),'.ext');
fid = fopen(fileName,'r');
请注意.ext
必须替换为实际扩展名。如果您使用的是.txt
个文件,请替换为.txt
。
另外,检查文件的位置(您需要指定确切的路径)。