Matlab fopen,是否有可能有一个数字文件名?

时间:2013-07-24 14:44:54

标签: 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,'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

1 个答案:

答案 0 :(得分:4)

我想,

a是一个数字。

因此,您需要指定与文件名对应的字符串。 该文件是否有任何扩展名? num2strstrcat应该发挥魔力。

代码:

fileName = strcat(num2str(a),'.ext');
fid = fopen(fileName,'r');

请注意.ext必须替换为实际扩展名。如果您使用的是.txt个文件,请替换为.txt

另外,检查文件的位置(您需要指定确切的路径)。