【问题标题】:How to use arrays created by loop? Matlab如何使用循环创建的数组? MATLAB
【发布时间】:2014-06-05 15:01:28
【问题描述】:

我正在使用的代码从多个文件中导入数据并将它们保存到一个单元格数组中,代码如下:

[FileName,PathName,FilterIndex] = uigetfile('*.txt*','MultiSelect','on');
numfiles = size(FileName,2);
FileData= cell(1,numfiles);
for ii = 1:numfiles
    FileName{ii};
    A=[];
    entirefile =fullfile(PathName,FileName{ii});
    fid = fopen(entirefile);
    tline = fgets(fid);
    while ischar(tline)
        parts = textscan(tline, '%f;');
        if numel(parts{1}) > 0
            A = [ A ; parts{:}' ];
        end
        tline = fgets(fid);
    end
    fclose(fid);
    FileData{ii} = A;

    A = FileData{ii};
    X = A(:,1);
    Y = A(:,5);
    DataToUse = [X,Y];
end  

现在我的问题是我想使用循环创建的第一个DataToUse,这将是第一个文件中的数据,单独到其他文件,但我无法隔离它。我试过DataToUse(1)DataToUse(1,1)DataToUse(:,[1,2]),但没有一个对我有用。数据类型的一个示例是:

数据使用=

0.0762    0.0271
0.0763    0.2671
0.0764    0.4079
0.0765    0.0510
0.0766    0.0087
0.0767    0.0099
0.0768    0.0067
0.0769    0.0047
0.0770    0.0047
0.0771    0.0349
0.0772    0.2094
0.0773    0.2740
0.0774    0.0294
0.0775    0.0100
0.0776    0.0159

根据选择的文件数量,我有不同数量的此类数据,但我想最初只使用第一个,然后再使用其他数据。有人知道我该怎么做吗?非常感谢提前

【问题讨论】:

    标签: arrays matlab loops for-loop while-loop


    【解决方案1】:

    解决方案是使用元胞数组,如下所示:

    DataToUse{ii} = [X, Y]
    

    要获得所需的输出,请将其放在 for 循环之后:

    firstLoopXY = DataToUse{1}
    

    享受吧!

    【讨论】:

    • 谢谢!工作得几乎完美,但由于某种原因,它给了我两次信息。知道如何阻止这种情况吗?
    • 它实际上给我的数据与选择上传和导入数据的文件数量相同。也许与DataToUse{ii}有关?
    • 您一般是编程新手吗?如果您是完全可以的,我只是在问,因为如果您是新手,我想更加精确。准确理解 for 循环的工作原理很重要:循环内的每个语句将对范围 [1, numfiles] 中的每个整数执行一次。因此,如果您将 firstLoopXY = DataToUse{1} 放在 for 循环中,它将按照您的描述在每个文件中执行一次。如果将它放在 for 循环底部的“结束”之后,它将只执行一次。顺便说一句,如果你把DataToUse{ii} 放在循环中,它每次都会显示那个文件数据。
    • 是的,我非常想自学!非常感谢它为我清理了一些事情@Fletch
    • @user3580436,总是很高兴,欢迎编码!建立您的个人资料并停留一段时间;这是一个学习的好地方。另外,不要忘记单击答案旁边的绿色小对勾,将其标记为您问题的解决方案。祝你好运!
    猜你喜欢
    • 2020-11-24
    • 2013-09-16
    • 1970-01-01
    • 2012-05-01
    • 2012-09-21
    • 1970-01-01
    • 2010-09-21
    • 2016-09-17
    • 1970-01-01
    相关资源
    最近更新 更多