Для моей работы мне нужно создать проект в Matlab, который не является моим языком выбора, и у меня есть некоторые вопросы относительно эффективности.
Я в настоящее время имеет дело с набором точек с несколькими свойствами. Вместо того, чтобы помещать все это в отдельные массивы равной длины, я бы предпочел создать единый массив объектов Point, используя классы, определенные пользователем Matlab. Например:
% Point.m
classmethod Point < handle
properties
x, y, prop1, prop2
end
end
% script.m
... % define x(100), y(100), prop1(100), prop2(100)
points(100) = Point; % this seems to be the way to allocate an object vector
for i = 1:100
points(i).x = x(i); % copy values into object
points(i).y = y(i);
points(i).prop1 = prop1(i);
points(i).prop2 = prop2(i);
end
Причина, по которой я предпочитаю вышесказанное, является одновременно эстетической (объекты должны быть объектами) и практической, поскольку он позволяет мне легко создавать подмножества точек без необходимости индексировать несколько различных массивов.
Однако мне интересно, является ли это наиболее эффективным способом решения задач, учитывая, что набор точек может вырасти довольно большим, порядка тысяч или десятки тысяч баллов. Мои основные вопросы:
Или, говоря более широко: каков был бы оптимальный способ организации моих баллов?
Жду вашего совета!