Когда я рисую изоповерхность трехмерного скалярного поля A(i,j,k)
(i = 1 ~ 31, j = 1 ~ 151, k = 1 ~ 151), используя Matlab, на рисунке индекс j соответствует оси X, i соответствует оси Y. Как Matlab организует 3d данные?
Вот рисунок, который я нарисовал:
Кубическая сетка имеет размер 31x151x151. Но на рисунке длина в направлении X равна 151, длина в направлении Y равна 31. И эта фигура является зеркальным отражением того, который я хочу.
matlab
data-visualization
кушак
источник
источник
Ответы:
В соответствии с документацией Matlab для
mesh
функции , кажется, что ось Y использует первый индекс матрицы, а не второй. Например, EG в(i,j)
индексной пареi
будет находиться на оси Y иj
будет на оси X. У меня было довольно обширное обсуждение этого вопроса с коллегами, и, похоже, все сводится к тому, как Matlab хранит свои матрицы внутренне: он хранит список столбцов ( основной порядок столбцов ), здесь есть довольно интересное объяснение: http://fr.mathworks.com/help/matlab/matlab_external/matlab-data.html#f22019TL; DR первым измерением являются столбцы (Y), затем идут строки (X), затем все дальнейшие оси по порядку.
источник