0

我有以下代码:

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
4

1 回答 1

4

a是一个数字,我猜。

因此,您需要指定一个与文件名对应的字符串。文件有扩展名吗?num2str并且strcat应该施展魔法。

编码:

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

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

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

于 2013-07-24T14:48:51.257 回答