1

Когда я рисую изоповерхность трехмерного скалярного поля A(i,j,k) (i = 1 ~ 31, j = 1 ~ 151, k = 1 ~ 151), используя Matlab, на рисунке индекс j соответствует оси X , я соответствует оси Y. Как Matlab организует 3d данные?

Вот рисунок, который я нарисовал:

вот фигура, которую я нарисовал

Кубическая сетка имеет размер 31x151x151. Но на рисунке длина в направлении X равна 151, длина в направлении Y равна 31. И эта фигура является зеркальным отражением того, что я хочу.

1 ответ1

0

В соответствии с документами Matlab для функции mesh, кажется, что ось Y использует первый индекс матрицы, а не второй. Например, в паре индексов (i,j) i буду на оси Y, а j будет на оси X. У меня было довольно обширное обсуждение этого вопроса с коллегами, и, похоже, все сводится к тому, как Matlab хранит его Внутренние матрицы: в нем хранится список столбцов (порядок главных столбцов), здесь есть довольно интересное объяснение: http://fr.mathworks.com/help/matlab/matlab_external/matlab-data.html#f22019

TL; DR первым измерением являются столбцы (Y), затем идут строки (X), затем все последующие оси по порядку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .