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

UptoLike

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

166
6.3 Обработка структур
Выполнение операций с полями и элементами полей абсо-
лютно аналогично операциям с элементами обычного числового мас-
сива. В обоих случаях надо использовать индексные выражения.
Пример. Вычислить среднее арифметическое строк массива
test для записи patient(2):
patient(2).test
Поле patient(2).test содержит следующий массив
ans =
68 70 68
118 118 119
172 170 169
Средние значения его строк могут быть вычислены следующим обра-
зом
mean((patient(1,2).test)')
ans = 68.6667 118.3333 170.3333
Существует несколько способов применения функций и опе-
раторов системы MATLAB для работы с полями структуры:
использование циклов;
заключение обозначения поля в квадратные скобки
[<имя_структуры>.<имя_поля>].
Пример. Рассмотрим операцию суммирования полей billing в
структуре
patient:
использование цикла:
total = 0;
for j = 1:length(patient)
total = total + patient(j).billing;
end
total
total = [ ]
Проверим длину записи patient и содержимое поля patient.billing
[patient.billing]
ans = 127.0000 28.5000
length(patient)
ans = 3
            6.3 Обработка структур


        Выполнение операций с полями и элементами полей абсо-
лютно аналогично операциям с элементами обычного числового мас-
сива. В обоих случаях надо использовать индексные выражения.

         Пример. Вычислить среднее арифметическое строк массива
test для записи patient(2):
     patient(2).test
Поле patient(2).test содержит следующий массив
     ans =
      68      70     68
      118      118   119
      172      170   169

Средние значения его строк могут быть вычислены следующим обра-
зом
     mean((patient(1,2).test)')
      ans = 68.6667      118.3333      170.3333

         Существует несколько способов применения функций и опе-
раторов системы MATLAB для работы с полями структуры:
    • использование циклов;
    • заключение обозначения поля в квадратные скобки
         [<имя_структуры>.<имя_поля>].
         Пример. Рассмотрим операцию суммирования полей billing в
структуре patient:
     использование цикла:
    total = 0;
     for j = 1:length(patient)
          total = total + patient(j).billing;
     end
     total
     total = [ ]
Проверим длину записи patient и содержимое поля patient.billing
     [patient.billing]
     ans = 127.0000       28.5000
     length(patient)
     ans = 3

166