Мне нужно объединить изрядное количество (~ 15000) участков на одной фигуре. Выполнение этого итеративно заняло бы вечность, поэтому я сохранил все свои данные в 3D-матрице, надеясь, что смогу построить все свои данные сразу.
Моя матричная структура выглядит следующим образом:
Итак, если я хочу отобразить первый график моей матрицы M
, я набираю:
plot(M(:,1,1),M(:,2,1))
Естественно, чтобы отобразить все мои данные сразу, я попробовал:
plot(M(:,1,:),M(:,2,:))
Что дает мне следующую ошибку:
Error using plot
Data cannot have more than 2 dimensions.
Любые идеи о том, как я мог бы найти быстрый способ построить такие данные?
Вот пример кода:
M = rand(5,2,3);
for i = 1:1:size(M,3)
M(:,1,i) = linspace(1,size(M,1),size(M,1));
% plot(M(:,1,i),M(:,2,i)) % Plot iteratively --> Works but slow
% hold on
end
plot(M(:,1,:),M(:,2,:)) % --> Gives the error 'Data cannot have more than 2 dimensions.'