Функция Matlab работает очень медленно - PullRequest
0 голосов
/ 22 ноября 2018

Экстраполируя из файла .mat векторов x, y, z Я видел, что мой код работает очень медленно, и я не могу понять, почему, хотя я сделал много доказательств об этом.Файл .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
        ...

Что можно объяснить медлительностью?Я не знаю, как получить доступ к данным более эффективно.Что я могу попробовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...