Составители:
167
Таким образом, одно из значений поля patient.billing оказывается не-
присвоенным и поэтому результат total оказывается пустым.
Использование квадратных скобок для полей:
total = sum ([patient.billing])
total = 155.5000
Если одному или нескольким полям значения не были присвоены, то
результат приведенного выше цикла будет пустым, в то время как
применение функции sum даст сумму значащих полей
.
Суммирование значений некоторого поля эквивалентно опе-
ратору
total = sum([patient(1).billing, patient(2).billing...]);
Написание функций для работы со структурами. Для об-
работки структур со специфической архитектурой полей могут пона-
добиться специальные функции обработки полей и их элементов. При
написании М-файлов для обработки структур необходимо помнить,
что пользователь должен сам выполнить анализ возникновения воз
-
можных ошибок, связанных с обработкой полей.
Пример. Рассмотрим набор данных, связанных с замером в
разные моменты времени токсинов в воде. Данные состоят из 15 от-
дельных наблюдений, где каждое наблюдение содержит три измере-
ния. Можно объединить эти данные в массив из 15 записей, каждая из
которых имеет 3 поля, по одному на каждое
измерение. Приведенная
ниже функция concen оперирует со специфическими харктеристиками
структуры, содержащей поля lead, mercury и chromium, которым
соответствуют концентрации свинца, ртути и хрома.
function [r1,r2] = concen(toxtest);
k = length(toxtest);
% Вычислить 2 вектора:
% r1 - отношение концентраций ртути к свинцу
% r2 - отношение концентраций свинцу к хрому.
for i = 1:k
r1 = [toxtest.mercury]./[toxtest.lead];
r2 = [toxtest.lead]./[toxtest.chromium];
end
% Графики концентраций свинца, ртути и хрома
for j = 1:k
lead = [toxtest.lead];
mercury = [toxtest.mercury];
chromium = [toxtest.chromium];
end
Таким образом, одно из значений поля patient.billing оказывается не- присвоенным и поэтому результат total оказывается пустым. Использование квадратных скобок для полей: total = sum ([patient.billing]) total = 155.5000 Если одному или нескольким полям значения не были присвоены, то результат приведенного выше цикла будет пустым, в то время как применение функции sum даст сумму значащих полей. Суммирование значений некоторого поля эквивалентно опе- ратору total = sum([patient(1).billing, patient(2).billing...]); Написание функций для работы со структурами. Для об- работки структур со специфической архитектурой полей могут пона- добиться специальные функции обработки полей и их элементов. При написании М-файлов для обработки структур необходимо помнить, что пользователь должен сам выполнить анализ возникновения воз- можных ошибок, связанных с обработкой полей. Пример. Рассмотрим набор данных, связанных с замером в разные моменты времени токсинов в воде. Данные состоят из 15 от- дельных наблюдений, где каждое наблюдение содержит три измере- ния. Можно объединить эти данные в массив из 15 записей, каждая из которых имеет 3 поля, по одному на каждое измерение. Приведенная ниже функция concen оперирует со специфическими харктеристиками структуры, содержащей поля lead, mercury и chromium, которым соответствуют концентрации свинца, ртути и хрома. function [r1,r2] = concen(toxtest); k = length(toxtest); % Вычислить 2 вектора: % r1 - отношение концентраций ртути к свинцу % r2 - отношение концентраций свинцу к хрому. for i = 1:k r1 = [toxtest.mercury]./[toxtest.lead]; r2 = [toxtest.lead]./[toxtest.chromium]; end % Графики концентраций свинца, ртути и хрома for j = 1:k lead = [toxtest.lead]; mercury = [toxtest.mercury]; chromium = [toxtest.chromium]; end 167
Страницы
- « первая
- ‹ предыдущая
- …
- 167
- 168
- 169
- 170
- 171
- …
- следующая ›
- последняя »