Моделирование в системе MATLAB. Часть 1. Основы работы в MATLAB. Терёхин В.В. - 177 стр.

UptoLike

Составители: 

175
Рисунок 6.9
Индексация вложенных структур. Для того чтобы проин-
дексировать структуру, надо добавить имена вложенных полей, ис-
пользуя в качестве разделителя точку (.). Первая текстовая строка ин-
дексного выражения определяет имя структуры, а последующие име-
на полей, содержащих другие структуры.
Пример. Вышеописанный массив A имеет 2 уровня вложен-
ности:
для получения доступа
к вложенной структуре внутри A(1)
надо использовать A(1).nest.
для получения доступа к полю xdata вложенной структуры
внутри A(1) надо использовать A(2).nest.xdata.
для получения доступа к элементу 2 поля ydata вложенной
структуры внутри A(1) надо использовать A(1).nest.ydata(2).
Многомерные массивы структур
Многомерные массивы структур рассматриваются как расши-
рение прямоугольных массивов структур. По
аналогии с другими ти-
пами многомерных массивов их можно формировать, либо используя
операторы присваивания, либо функцию cat.
Пример. Сформируем многомерный массив структур сле-
дующего вида, используя операторы присваивания (рисунок 6.10):
patient(1, 1, 1).name = 'John Doe';patient(1,1,1).billing = 127.00;
patient(1, 1, 1).test = [79 75 73; 180 178 177.5; 220 210 205];
patient(1, 2, 1).name = 'Ann Lane';patient(1,2,1).billing = 28.50;
patient(1, 2, 1).test = [68 70 68; 118 118 119; 172 170 169];
patient(1, 1, 2).name = 'Al Smith';patient(1,1,2).billing = 504.70;
patient(1, 1, 2).test = [80 80 80; 153 153 154; 181 190 182];
                             Рисунок 6.9

        Индексация вложенных структур. Для того чтобы проин-
дексировать структуру, надо добавить имена вложенных полей, ис-
пользуя в качестве разделителя точку (.). Первая текстовая строка ин-
дексного выражения определяет имя структуры, а последующие име-
на полей, содержащих другие структуры.
        Пример. Вышеописанный массив A имеет 2 уровня вложен-
ности:
    • для получения доступа к вложенной структуре внутри A(1)
        надо использовать A(1).nest.
    • для получения доступа к полю xdata вложенной структуры
        внутри A(1) надо использовать A(2).nest.xdata.
    • для получения доступа к элементу 2 поля ydata вложенной
        структуры внутри A(1) надо использовать A(1).nest.ydata(2).
                   Многомерные массивы структур
        Многомерные массивы структур рассматриваются как расши-
рение прямоугольных массивов структур. По аналогии с другими ти-
пами многомерных массивов их можно формировать, либо используя
операторы присваивания, либо функцию cat.
        Пример. Сформируем многомерный массив структур сле-
дующего вида, используя операторы присваивания (рисунок 6.10):
    patient(1, 1, 1).name = 'John Doe';patient(1,1,1).billing = 127.00;
    patient(1, 1, 1).test = [79 75 73; 180 178 177.5; 220 210 205];
    patient(1, 2, 1).name = 'Ann Lane';patient(1,2,1).billing = 28.50;
    patient(1, 2, 1).test = [68 70 68; 118 118 119; 172 170 169];
    patient(1, 1, 2).name = 'Al Smith';patient(1,1,2).billing = 504.70;
    patient(1, 1, 2).test = [80 80 80; 153 153 154; 181 190 182];
                                                                   175