Математика. Перспективы информационных систем.

                                                       Дудник А.И.

              Донецкий национальный университет экономики и торговли

                                    имени Михаила Туган-Барановского

Использование программы MATLAB для построения    графиков

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

        математические вычисления

        создание алгоритмов

        моделирование

        анализ данных, исследования и визуализация

        научная и инженерная графика

        разработка приложений, включая создание графического интерфейса

    MATLAB как язык программирования был разработан Кливом Моулером в конце 1970-х годов. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. Инженер Джон Литтл  познакомился с этим языком во время визита Клива Моулера в Стэнфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом. Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.

    Управляемая графика - это графическая система MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных  данных, обработки изображений, анимации и иллюстрированной графики. Она также включает в себя команды низкого уровня, позволяющие полностью редактировать внешний вид графики, также как при создании Графического Пользовательского Интерфейса (GUI)для MATLAB приложений. В результате вычислений в системе MATLAB обычно получается большой массив данных, который трудно анализировать без наглядной визуализации. Поэтому система визуализации, встроенная в MATLAB, придаёт этому пакету особую практическую ценность.                                                              

     Графические возможности системы MATLAB являются мощными и разнообразными. В первую очередь целесообразно изучить наиболее простые в использовании возможности. Их часто называют высокоуровневой графикой. Это название отражает тот  факт, что пользователю нет никакой необходимости вникать во все тонкие и глубоко спрятанные детали работы с графикой.  Например, нет ничего проще, чем построить график функции одной вещественной переменной. Следующие команды   x = 0 : 0.01 : 2;    y = sin( x ); вычисляют массив y значений функции sin для заданного набора аргументов. После этого одной единственной командой plot( x , y ) удаётся построить вполне качественно выглядящий график функции:

 

     MATLAB показывает графические объекты в специальных графических окнах, имеющих в заголовке слово Figure  (изображение, внешний вид, фигура). При построении графиков функций сразу проявляется тот факт, что очень большую часть работы MATLAB берёт на себя. Мы в командной строке ввели лишь одну команду, а система сама создала графическое окно, построила оси координат, вычислила диапазоны изменения переменных x и y; проставила на осях метки и соответствующие им числовые значения, провела через опорные точки график функции некоторым, выбранным по умолчанию, цветом; в заголовке графического окна надписала номер графика в текущем сеансе работы.

     Функция plot  имеет различные формы, связанные с входными параметрами, например plot(y) создает кусочно-линейный график зависимости элементов у от их индексов. Если задать  два вектора в качестве аргументов, plot(x,y) создаст график зависимости у от х.Вызов функции plot с многочисленными парами х-у создает многочисленные графики.

     MATLAB автоматически присваивает каждому графику свой цвет (исключая случаи, когда это делает пользователь), что позволяет различать заданные наборы данных. Возможно изменение цвета, стиля линий и маркеров, таких как знаки плюс или кружки, следующим образом plot(x, у, 'цвет_стиль_маркер') цвет_стиль_маркер это 1-, 2-, 3-х символьная строка (заключенная в одинарные кавычки), составленная из типов цвета, стиля линий и маркеров:

        Символы, относящие к цвету:  'с', 'т', 'у', 'r', 'g', b',  'w' и 'k'. Они обозначают голубой, малиновый, желтый, красный, зеленый,синий,белый и черный цвета соответственно.

        Символы, относящиеся к типу линий:  ' - ' для сплошной, ' — ' для разрывной, ': ' для пунктирной, ' . ' для штрихпунктирной линий и ' попе ' для её отсутствия.

        Наиболее часто встречающиеся маркеры '+','о','*'и'х'.

    Функция plot автоматически открывает новое окно изображения (далее окно), если до этого его не было на экране. Если же оно существует, то plot использует его по умолчанию. Для открытия нового окна и выбора его по умолчанию, нужно набрать figure. Для того, чтобы сделать существующее окно текущим -figure(n),где n - это номер в заголовке окна. В этом случае результаты всех последующих команд будут выводиться в это окно.

     Добавление кривых на существующий график. Команда hold позволяет добавлять кривые на существующий график. Когда  набираете hold on, MATLAB не стирает существующий график, а добавляет в него новые данные, изменяя оси, если это необходимо. Например, следующий элемент кода вначале создает контурные линии функции peaks, а затем накладывает псевдоцветной график той же функции:

[x,y,z] = peaks;      contour(x,у,z,20,'k');    hold on;   pcolor(x,y,z); shading interp;

     Команда hold on является причиной того, что график pcolor комбинируется с графиком contour в одном окне. Функция subplot позволяет выводить множество графиков в одном окне или распечатывать их на одном листе бумаги. Функция axis имеет несколько возможностей для настройки масштаба, ориентации и коэффициента сжатия. Функция axis заменяет значения по умолчанию предельными значения, вводимыми пользователем.