exponenta event banner

Требования к памяти для структурного массива

Структурным массивам не требуется полностью непрерывная память. Однако каждое поле требует непрерывной памяти, как и заголовок, создаваемый MATLAB ® для описания массива. Для очень больших массивов постепенное увеличение числа полей или количества элементов в поле приводит к Out of Memory ошибки.

Предварительное выделение памяти для содержимого путем назначения начальных значений struct функция, например,

newStruct(1:25,1:50) = struct('a',ones(20),'b',zeros(30),'c',rand(40));

Этот код создает и заполняет массив структуры 25 на 50 S с полями a, b, и c.

Если не требуется назначать начальные значения, можно инициализировать массив структуры, назначив пустые массивы каждому полю последнего элемента массива структуры, например,

newStruct(25,50).a = [];
newStruct(25,50).b = [];
newStruct(25,50).c = [];

или, эквивалентно,

newStruct(25,50) = struct('a',[],'b',[],'c',[]);

Однако в этом случае MATLAB выделяет память только для заголовка, а не для содержимого массива.

Дополнительные сведения см. в разделе: