Составители:
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
- …
- следующая ›
- последняя »
