Экстраполируя из файла .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
...
Что можно объяснить медлительностью?Я не знаю, как получить доступ к данным более эффективно.Что я могу попробовать?