ВУЗ: Смоленский областной казачий институт промышленных технологий и бизнеса
Категория: Методичка
Дисциплина: Системы искусственного интеллекта
Добавлен: 29.10.2018
Просмотров: 353
Скачиваний: 13
ЛАБОРАТОРНАЯ РАБОТА № 5.
ТЕМА: РАСПОЗНАВАНИЕ ОБРАЗОВ ПО МИНИМАЛЬНОМУ РАССТОЯНИЮ МЕЖДУ НИМИ.
Если заданы два многомерных вектора v и w (см. рис.1), то расстояние R между ними будет определяться в скалярной или матричной форме по формулам:
Рис.1
Условие задачи.
Даны три группы частотных спектров по четыре спектра в каждой группе бензинов: бензина А-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 столбцов: первый столбец – порядковый номер, второй – частота и третий – амплитуда спектра ( см.рис.1)
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
Рис.2 Вид введенного спектра.
Нас интересует только амплитуда. Поэтому сформируем из амплитуд всех введенных спектров три матрицы из четырех столбцов каждая: для бензина А-76 матрицу S1, для бензина АИ-95 матрицу S2 и для бензина АИ-98 матрицу S3.
Cначала введем заголовок «Формирование матриц». Для этого нажав одновременно SHIFT и Э ( в английском шрифте), откроем окно надписей. Перейдя на русский и введя в меню ARIAL CYR, запишем этот заголовок.
Затем сформируем сами матрицы как показано на рис.2
Формирование матриц
Рис.3 Формирование матриц.
4.Спектры введены в формате текстов. Их следует перевести в цифровой формат с помощью встроенной функции str2num. (string – строка, num- число). Перевод показан на рис.3
Рис.4. Перевод текстовых файлов в цифровые.
5. Подготовим «неизвестные» спектры. На самом деле спектры, которые мы называем «неизвестными» нам известны. Первый из этих спектров принадлежит бензину А-76, второй – бензину АИ-95, третий – бензину АИ-98. Мы должны проверить, правильно ли распознает их формируемая нами программа.
Введем «неизвестные» спектры, как мы это делали для известных спектров, дав им имена X1, X2, X3,выделим третьи столбцы и переведем их в цифровую форму ( см.рис.4).
Рис.5 Ввод исследуемых спектров.
6. Составим программу поиска минимального расстояния между каждым из «неизвестных» и всеми известными спектрами ( см рис.6 на следующей странице).
7.Так как у нас три «неизвестных» спектра, то мы организуем цикл по j от 1 до 3.
8. Переменными min1,min2,min3 мы обозначим минимальные расстояния до спектров бензинов А-76, АИ-95 и АИ-98, соответственно. В начале мы присвоим им значения расстояний от «неизвестных» спектров до первого из спектров каждой группы.
9. В каждой марке бензинов мы имеем четыре известных спектра. Поэтому организуем цикл по «к» от 1 до 4-х. В этом цикле мы ищем минимальные расстояния от каждого из «неизвестных» спектров до спектров каждой марки.
10. Вычисленные минимальные расстояния циклом по «i» мы помещаем в вектор MIN. 11.Следующим циклом по «i» мы помещаем в вектор «К» условный номер марки бензина. Группа 1 – бензин А-76, группа 2 – бензин АИ-95, группа 3 – бензин АИ-98.
12.Наконец, для большей наглядности присваиваем группе 1 имя «76», а остальным, соответственно, имена «95», «98».
13. ниже приведен вектор ответа. Видим, что распознавание произведено правильно.