Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 166
- 167
- 168
- 169
- 170
- …
- следующая ›
- последняя »