Так как вычисления в системе MATLAB 7.0 выполняются с двойной точностью, используются возможности арифметики произвольной точности. Например, с помощью функции digits(l5) задается число точных знаков в представлении чисел, равное 15. С помощью функции vpa(x,t) можно выделить в представлении числа х с двойной точностью заданное количество значащих цифр t. Например, vpa(x,8) и VjP«(.t,15) выделяют 8 (одинарная точность) и 15 (двойная точность) значащих цифр соответственно. Результатом функции vpa является не число, а строка, состоящая из выделенных t значащих цифр. Для преобразования этой строки цифр в число используется функция double: double(ypa(x,8)) и double(vpa{x, 15)). Все вводимые в диалоговые окна (в соответствующие поля) значения воспринимаются в системе MATLAB 7.0 как строки данных. Для преобразования строковых данных в числовые используется функция str2num. Например, оператор k=str2num(get{hEdit,'String')) возвращает в переменную к число, которое было введено в поле с именем (дескриптером) hEdit. Выбор системы MATLAB 7.0 для реализации разработанных методов кластеризации обусловлен наличием мощного математически ориентированного языка системы и ее ориентацией на матричные операции, значительно сокращающей применение циклов; наличием встроенных в систему мощных и гибких операторов и функций, в частности, функции fcm.m, реализующий классический алгоритм нечетких с-средних на основе НМТ1. Кроме того, при разработке ППП была использована реализованная в MATLAB 7.0 возможность вычисления определителя матрицы размера с х с через L U -разложение, где L нормированная нижняя треугольная с х с матрица, a U — верхняя треугольная схе-м атрица [46], что позволило уменьшить вычислительную сложность расчета определителя матрицы размера с х с до о(с/ов27)= о(с2,81) операций (в то время как без использования L U -разложения вычислительная сложность расчета определителя матрицы размера с х с оценивается как о(с3) операций) [7, 68]. 210 |
ГЛАВА 6 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МЕТОДОВ, МОДЕЛЕЙ И АЛГОРИТМОВ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ Все предложенные в главах 2-5 методы, модели и алгоритмы поддержки принятия решений были реализованы с использованием системы инженерных и научных расчетов MATLAB17.0, которая хорошо зарекомендовала себя при решении широкого спектра прикладных задач. Наиболее известными областями применения системы MATLAB 7.0 являются следующие области: математика и вычисления; разработка алгоритмов; вычислительный эксперимент, имитационное моделирование; аиализ данных, исследование и визуализация результатов; научная и инженерная графика; разработка приложений, в том числе и графического интерфейса пользователя [153, 154]. Выбор системы MATLAB 7.0 для реализации методов, моделей и алгоритмов поддержки принятия решений обусловлен наличием мощного математически ориентированного языка системы и ее ориентацией на матричные операции, значительно сокращающей применение циклов; наличием встроенных в систему мощных и гибких операторов и функций; наличием многочисленных пакетов расширения системы MATLAB 7.0 (в первую очередь наличием пакета Fuzzy Logic Toolbox, который использовался при разработке систем нечеткого вывода), что обеспечивает адаптацию системы к решению различных классов математических и технических задач [209, 232]. Все функции, входящие в описываемые ниже пакеты прикладных программ (ППП), являются т -файлами. Системы нечеткого вывода реализованы в виде /is -файлов. При реализации графического интерфейса были использованы средства для визуально-ориентированного создания и программирования приложений с GUI (Graphic User Interface). 402 |