У меня есть большой объем данных для импорта в MATLAB, представляющий местоположение точек в декартовом пространстве. Что из следующего является наиболее обычным для хранения и обработки стандартных данных XYZ ?:Самый обычный метод хранения данных XYZ в MATLAB
ВАРИАНТ # 1
магазин X, Y и Z-координаты в виде отдельного п * 1 векторов (возможно, в пределах структуры?) , Это делает:
- Plotting проста:
plot3(X, Y, Z)
- Извлечение отдельных точек чуть более запутанным
N = [X(i), Y(i), Z(i)]
- Проходя весь набор точек на функцию расширяет количество различных аргументов для передачи.
ВАРИАНТ # 2
магазин X, Y и Z координат, как один п * 3 вектора.
- Plotting немного сложнее:
plot3(XYZ(:, 1), XYZ(:, 2), XYZ(:, 3))
- Извлечение отдельных точек проще:
N = XYZ(i, :)
- Проходя весь набор точек легко - просто одна переменная
Исходя из этого, я подозреваю, что второй является более условным.
Однако некоторые данные, которые я буду обработки сложнее, так как она читается в виде сетки, где формат сетки имеет важное значение. Под этим я подразумеваю, что необработанная форма для данных является матрицей n * m * 3, а не матрицей (n * m) * 3. Важным является тот факт, что точка X (i, j) находится рядом с точкой X (i, j + 1). Опять же, представлены два варианта:
ВАРИАНТ # 1
магазин каждый X, Y и Z координат как м матрицы п *.
ВАРИАНТ # 2
магазин все точки в качестве Н * м * 3 матрицы.
я предпочел бы сделать второй здесь, но некоторые варианты, как Plotting стать довольно глупо:
X = XYZ(:, :, 1);
Y = XYZ(:, :, 2);
Z = XYZ(:, :, 3);
plot3(X(:), Y(:), Z(:));
У меня есть ощущение, что там должно быть соглашение, для этого, в частности, в видении и графики сообщества.
Спасибо, я взял это на борту. Я считаю, что структура является хорошим советом, и теперь я использую их для хранения матрицы XYZ и «битов», связанных с точками данных. –