Файл: Лабораторная работа № 7.doc

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ЛАБОРАТОРНАЯ РАБОТА № 7.

ТЕМА: РАСПОЗНАВАНИЕ ОБРАЗОВ ПО ИХ НЕЧЕТКОЙ МЕРЕ СХОДСТВА.


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

где и константы, неизвестный спектр, - один из известных спектров. Т – индекс транспонирования вектора.

Условие задачи.

Даны три группы частотных спектров по четыре спектра в каждой группе бензинов: бензина А-76, бензина АИ-95 и бензина АИ-98.

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

Решение.

Перед началом решения командой ФАЙЛ – НАСТРОЙКА СТРАНИЦЫ зададим альбомный формат ( LANDSCAPE).

Все спектры расположены в папке МАТКАД – ДАННЫЕ ДЛЯ ЛАБ. РАБОТЫ. В ней созданы три папки для известных марок бензина и папка « неизвестных» спектров.

1. Для начала счета с единицы введем ORIGIN: =1

2.Сначала необходимо ввести все известные (опорные) спектры в маткад. Это производится с помощью команд меню ВСТАВИТЬ- ДАННЫЕ – ВВОД ФАЙЛА. После ввода этих команд открывается окно FILE OPTIONS ( опции файла), в котором имеется кнопка « BROWSE» ( искать).Нажав на эту кнопку, откроем окно READ FROM FILE ( читай из файла) и укажем путь: МАТКАД –ДАННЫЕ ДЛЯ ЛАБ.РАБОТЫ – БЕНЗИН А- 76- А-76спектр1.Потом нажмем кнопку ОТКРЫТЬ.

Затем нажмем два раза кнопку ГОТОВО в окне FILE OPTIONS. В маткаде появится рамка с надписью А-76 …….txt. Присвоим ему имя F11.

Аналогично введем остальные спектры бензина А76, присвоив им имена F12, F13, F14, и все спектры бензинов АИ-95, присвоив им имена F2i, и все спектры бензина АИ-98, присвоив им имена F3i.Здесь индексы i меняются от 1 до 4.

Ввод данных закончен.

3 . Введенные спектры представляют собой матрицу из 7462 строк и 3 столбцов: первый столбец – порядковый номер, второй – частота и третий – амплитуда спектра ( см. рис.2)




1: 399.95 -0.000131

2: 400.44 0.001253

3: 400.92 0.001301

4: 401.40 0.000805

5: 401.88 0.000681

6: 402.37 0.001579

7: 402.85 0.003724

8: 403.33 0.006809

9: 403.81 0.010327

Рис.1 Вид введенного спектра.

Нас интересует только амплитуда. Поэтому сформируем из амплитуд всех введенных спектров три матрицы из четырех столбцов каждая: для бензина А-76 матрицу S1, для бензина АИ-95 матрицу S2 и для бензина АИ-98 матрицу S3.

Cначала введем заголовок «Формирование матриц». Для этого нажав одновременно SHIFT и Э ( в английском шрифте), откроем окно надписей. Перейдя на русский и введя в меню ARIAL CYR, запишем этот заголовок.

Затем сформируем сами матрицы как показано на рис.2


Формирование матриц








Рис.2 Формирование матриц.


4.Спектры введены в формате текстов. Их следует перевести в цифровой формат с помощью встроенной функции str2num. (string – строка, num- число). Перевод показан на рис.3




Рис.3. Перевод текстовых файлов в цифровые.


5. Подготовим «неизвестные» спектры. На самом деле спектры, которые мы называем «неизвестными» нам известны. Первый из этих спектров принадлежит бензину А-76, второй – бензину АИ-95, третий – бензину АИ-98. Мы должны проверить, правильно ли распознает их формируемая нами программа.

Введем «неизвестные» спектры, как мы это делали для известных спектров, дав им имена X1, X2, X3,выделим третьи столбцы и переведем их в цифровую форму ( см.рис.4).
















Рис.4. Ввод «неизвестных» спектров.

6. Составим программу поиска максимального значения меры сходства каждого «неизвестного» со всеми известными спектрами ( см рис.5 ).

7.Так как у нас три «неизвестных» спектра, то мы организуем цикл по j от 1 до 3.

8. Переменными max1,max2,max3 мы обозначим максимальные значения мер сходства со спектрами бензинов А-76, АИ-95 и АИ-98, соответственно. В начале мы присвоим им нулевые значения .

9. В каждой марке бензинов мы имеем четыре известных спектра. Поэтому организуем цикл по «к» от 1 до 4-х. В этом цикле мы ищем максимальные значения меры сходства каждого из «неизвестных» спектров и спектрами каждой марки.

10. Эти вычисленные максимальные значения циклом по «i» мы помещаем в вектор MAX.

11.Следующим циклом по «i» мы помещаем в вектор «К» условный номер марки бензина. Группа 1 – бензин А-76, группа 2 – бензин АИ-95, группа 3 – бензин АИ-98.

12.Наконец, для большей наглядности присваиваем группе 1 имя «76», а остальным, соответственно, имена «95», «98».

1 3. ниже приведен вектор ответа. Видим, что распознавание произведено правильно.






























Рис.5. Маткад-программа определения марки бензина.