matlab / octave используют для этой цели так называемые «клеточные массивы». Синтаксис аналогичен массивам, за исключением того, что вы используете «скобки» ({}
) вместо «скобок» ([]
).
например,
octave:1> a = [1,2,3], b = [1,2], c = [1,2,3,4]
a = 1 2 3
b = 1 2
c = 1 2 3 4
octave:2> d = {a, b, c}
d = {
[1,1] = 1 2 3
[1,2] = 1 2
[1,3] = 1 2 3 4
}
Аналогично используйте фигурные скобки для'индексировать' массив ячеек и получить его содержимое :
octave:3> d{1}
ans = 1 2 3
Примечание: вы можете также проиндексировать его как обычный массив, используя скобки (то есть ()
), но это возвращает отдельные ячейки сами по себе (т. е. в форме массива ячеек), а не их содержимое :
octave:4> d(1)
ans = {
[1,1] = 1 2 3
}
По сути, «большая» разницамежду «обычными» (например, «числовыми») массивами и «ячейками-массивами» заключается в том, что «нормальные» массивы должны всегда содержать элементы одного типа, тогда как в ячейках-массивах каждый элемент может быть чем угодно (включая другой массив ячеек).