Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Plot(chromium,'y'); hold off



Данная функция создает два вектора. r1содержит отношение ртути к свинцу в каждом наб-людении, а r2содержит отношение свинца к хрому. Далее эта функция строит кривые кон-центрации свинца, ртути и хрома на одном графике, используя разные цвета (красный – сви-нец, синий – ртуть, желтый – хром).

Попробуйте применить данную функцию на примеры структуры test со следующими данны-ми

 

test(1).lead = .007; test(2).lead = .031; test(3).lead = .019;

test(1).mercury = .0021; test(2).mercury = .0009;

test(3).mercury = .0013;

test(1).chromium = .025; test(2).chromium = .017;

test(3).chromium = .10;

Организация данных в массиве структур

Ключ к организации массива структур состоит в выборе способа, которым вы хотите обра-щаться к подмассивам данных или отдельным данным структуры. Это, в свою очередь, оп-ределяет как вы дольжны построить массив, содержащий структуры и как выбирать поля структуры. Например, рассмотрим RGB изображение размера 128х128, запомненное в трех различных массивах : RED, GREENиBLUE.

 

 

Имеются по меньшей мере две возможности для организации таких данных в массив струк-

тур.

 

Плоская организация Поэлементная организация

 

Плоская организация

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

 

A.r = RED;

A.g = GREEN;

A.b = BLUE;

 

Подобный подход позволяет вам легко извлекать полное изображение в отдельных состав-ляющих цветов, для решения таких задач как фильтрация. Например, для обращения ко всей красной плоскости нужно просто записать

 

red_plane = A.r;

Плоская организация имеет то дополнительное преимущество, что массив структур можно без труда дополнить другими изображениями. Если у вас есть набор изображений, вы може-те запомнить их как A(2), A(3), и так далее, где каждая структура содержит полное изобра-жение.

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

red_sub = A.r (2:12, 13:30);

grn_sub = A.g (2:12, 13:30);

blue_sub = A.b (2:12, 13:30);

Поэлементная организация

Данный вариант имеет то преимущество, что обеспечивает простой доступ к подмножествам данных. Для организации данных в данной форме нужно использовать команды

 

for i = 1:size(RED,1)

for j = 1:size(RED,2)

B(i,j) .r = RED(i,j);

B(i,j) .g = GREEN(i,j);

B(i,j) .b = BLUE(i,j);

End

End

При поэлементной организации, вы можете осуществить обращение к подмножествам дан-ных при помощи единственного выражения:

 

Bsub = B(1:10, 1:10);

 

Однако, обращение к полной плоскости изображения при поэлементом методе требуется цикл :

 

red_plane = zeros(128,128);

for i = 1 : (128*128)

red_plane(i) = B(i).r;

End

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.