Составители:
174
Применение функции struct. Чтобы сформировать вложен-
ную структуру, необходимо организовать рекурсию при вызове функ-
ции struct.
Пример. Допустим, что требуется создать структуру размера
1х2. Организуем следующий рекурсивный вызов функции struct:
A = struct('data',[3 4 7; 8 0 1],'nest',...
struct('testnum','Test 1','xdata',[4 2 8],'ydata',[7 1 6]))
A =
data: [2x3 double]
nest: [1x1 struct]
Запись A(1) содержит требуемые значения, благодаря вызову
внешней функции struct.
Следующая последовательность операторов производит ре-
зультат, аналогичный предыдущему
:
A(1).data = [3 4 7; 8 0 1];
A(1).nest.testnum = 'Test 1';
A(1).nest.xdata = [4 2 8];
A(1).nest.ydata = [7 1 6];
A(2).data = [9 3 2; 7 6 5];
A(2).nest.testnum = 'Test 2';
A(2).nest.xdata = [3 4 2];
A(2).nest.ydata = [5 0 9]
A =
1x2 struct array with fields:
data
nest
Введем изменения в запись A(2):
A(2).data = [9 3 2; 7 6 5];
A(2).nest.testnum = 'Test 2';
A(2).nest.xdata = [3 4 2];
A(2).nest.ydata = [5 0 9]
A =
1x2 struct array with fields:
data
nest
Тогда получим структуру, приведённую на рисунке 6.9. Как
и в случае массивов записей с одним уровнем вложения, можно с ис-
пользованием операторов присваивания сформировать вложенные
массивы структур.
Применение функции struct. Чтобы сформировать вложен- ную структуру, необходимо организовать рекурсию при вызове функ- ции struct. Пример. Допустим, что требуется создать структуру размера 1х2. Организуем следующий рекурсивный вызов функции struct: A = struct('data',[3 4 7; 8 0 1],'nest',... struct('testnum','Test 1','xdata',[4 2 8],'ydata',[7 1 6])) A= data: [2x3 double] nest: [1x1 struct] Запись A(1) содержит требуемые значения, благодаря вызову внешней функции struct. Следующая последовательность операторов производит ре- зультат, аналогичный предыдущему: A(1).data = [3 4 7; 8 0 1]; A(1).nest.testnum = 'Test 1'; A(1).nest.xdata = [4 2 8]; A(1).nest.ydata = [7 1 6]; A(2).data = [9 3 2; 7 6 5]; A(2).nest.testnum = 'Test 2'; A(2).nest.xdata = [3 4 2]; A(2).nest.ydata = [5 0 9] A= 1x2 struct array with fields: data nest Введем изменения в запись A(2): A(2).data = [9 3 2; 7 6 5]; A(2).nest.testnum = 'Test 2'; A(2).nest.xdata = [3 4 2]; A(2).nest.ydata = [5 0 9] A= 1x2 struct array with fields: data nest Тогда получим структуру, приведённую на рисунке 6.9. Как и в случае массивов записей с одним уровнем вложения, можно с ис- пользованием операторов присваивания сформировать вложенные массивы структур. 174
Страницы
- « первая
- ‹ предыдущая
- …
- 174
- 175
- 176
- 177
- 178
- …
- следующая ›
- последняя »