首页 > 解决方案 > Matlab函数工作很慢

问题描述

从向量 x、y、z 的 .mat 文件中推断,我发现我的代码运行速度非常慢,我不明白为什么,尽管我已经做了很多关于它的证据。.mat 文件最初由我访问的 1x1 结构(在代码中是fileAllData{i,1}:)、我访问的 2x1 单元格(在代码中:)(attivita{1,j})和最后我访问的单元格({s,1})组成。

function[x, y, z, s] = getXYZ(pathData, j, i, s)
        fullDataPath = sprintf(...); 
        fileAllData = importdata(fullDataPath);
        m = fileAllData{i,1}.(attivita{1,j}){s,1};

        x = m(1,:)';
        y = m(2,:)';
        z = m(3,:)';
        .....
        s = s+1;

    end


        Main function:
        .....
        for j = 1:K         
            for i = 1:nSubjects 
            s = 1;
                     while s<=trials(j)

                         [x, y, z, s] = getXYZ(pathData, j, i, s);
                      end
            end
        end
        ...

什么可以归因于缓慢?我不知道如何更有效地访问数据。我可以尝试什么?

标签: matlabperformancefunctiontime

解决方案


推荐阅读