Теоретическое обоснование. Основы программирования и графические возможности системы MATLAB
Основы программирования и графические возможности системы MATLAB Цель и содержание работы:познакомиться с элементами программирования и возможностями графической визуализации вычислений в пакете MATLAB.
Теоретическое обоснование Программирование в системе MATLAB является эффективным средством ее расширения и адаптации к решению специфических проблем. Оно реализуется с помощью языка программированиясистемы. Большинство объектов этого языка, в частности все команды, операторы и функции, одновременно являются объектами входного языкаобщения с системой в командном режиме работы. С позиций программиста язык программирования системы является типичным проблемно-ориентированнымязыком программирования высокого уровня. Точнее говоря, это даже язык сверхвысокогоуровня, содержащий сложные операторы и функции, реализация которых на обычных языках (например, Бейсике, Паскале или Си) потребовала бы много усилий и времени. К таким функциям относятся матричные функции, функции быстрого преобразования Фурье и др., а к операторам — операторы построения разнообразных графиков, генерации матриц определенного вида и т. д. Программами в системе MATLAB являются М-файлы текстового формата, содержащие запись программ в виде программных кодов. Язык программирования системы MATLAB имеет следующие средства: - данные различного типа; - константы и переменные; - операторы, включая операторы математических выражений; - встроенные команды и функции; - функции пользователя; - управляющие структуры; - системные операторы и функции; - средства расширения языка. Коды программ в системе MATLAB пишутся на языке высокого уровня, достаточно понятном для пользователей умеренной квалификации в области программирования. Язык программирования MATLAB является типичным интерпретатором.Это означает, что каждая инструкция программы распознается и тут же исполняется, что облегчает обеспечение диалогового режима общения с системой. Язык программирования системы MATLAB вобрал в себя все средства, необходимые для реализации различных видов программирования: процедурного, операторного, функционального, логического, структурного (модульного), объектно-ориентированного, визуально-ориентированного. В основе процедурного,операторногои функциональноготипов программирования лежат процедуры, операторы и функции, используемые как основные объекты языка. Эти типы объектов присутствуют в MATLAB. Логическоепрограммирование реализуется в MATLAB с помощью логических операторов и функций. Это позволяет реализовать основные идеи логического программирования, хотя на выдающуюся роль в этом классе языков программирования MATLAB не претендует. Зато MATLAB представляет собой яркий пример плодотворности структурногопрограммирования. Подавляющее большинство функций и команд языка представляют собой вполне законченные модули, обмен данными между которыми происходит через их входные параметры, хотя возможен обмен информацией и через глобальные переменные. Программные модули оформлены в виде текстовых М-файлов, которые хранятся на диске и подключаются к программам по мере необходимости. Важно отметить, что в отличие от многих языков программирования, применение тех или иных модулей не требует предварительного объявления, а для создания и отладки самостоятельных модулей MATLAB имеет все необходимые средства. Подавляющее большинство команд и функций системы MATLAB поставляется в виде таких модулей. Объектно-ориентированноепрограммирование также широко представлено в системе MATLAB. Оно особенно актуально при программировании задач графики. Что качается визуально-ориентированногопрограммирования, то в MATLAB оно представлено в основном в пакете моделирования заданных блоками устройств и систем Simulink. В MATLAB реализованы возможности по организации циклов и использованию условных операторов. Условный оператор if в общем виде записывается следующим образом: if Условие Инструкции_1 else Инструкции_2 end
Работа условного оператора аналогично работе условного оператора в языке Visual Basic, Циклы типа for...end обычно используются для организации вычислений с заданным числом повторений. Конструкция такого цикла имеет следующий вид: for счетчик=Выражение. Инструкция_1 . . Инструкция_N end Выражение чаще всего записывается в виде s:d:e, где s — начальное значение счетчика цикла, d — приращение этой переменной и е — конечное значение управляющей переменной, при достижении которого цикл завершается. Возможна и запись в виде s :е (в этом случае d=l). Список выполняемых в цикле инструкций завершается оператором end. Одно из достоинств системы MATLAB — обилие средств графики, начиная от команд построения простых графиков функций одной переменной в декартовой системе координат и кончая комбинированными и презентационными графиками с элементами анимации, а также средствами проектирования графического пользовательского интерфейса. Особое внимание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов. MATLAB строит графики функций по ряду точек, соединяя их отрезками прямых, т. е. осуществляя линейную интерполяцию функции в интервале между смежными точками. Графики MATLAB строит в отдельных окнах Figure, называемых графическими окнами. В главном меню окна появилась позиция Tools (Инструменты), которая позволяет вывести или скрыть инструментальную панель, видимую в верхней части окна графики на рисунке 9.1. Средства этой панели позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте. Рисунок 9.1 – Пример построения графика синусоиды
Графики в MATLAB можно строить как в командном режиме из Окна команд, так и вызывая их из М-файлов. Для построения двумерных графиков используется команда plot. В общем случае синтаксис команды plot выглядит следующим образом: plot(x, y, ’цвет_стиль_маркер‘), где x – аргумент функции; y – значение функции; цвет и стиль линий графика, также маркер определены в таблице 9.1. Таблица 9.1 – Цвет, тип линии и тип точки на графике
Вызов функции plot с многочисленными парами x и y создает многочисленные графики. При этом MATLAB автоматически присваивает каждому графику свой цвет (исключая случаи, когда это делает сам пользователь), что позволяет различать заданные наборы данных. Например plot(t, f, ‘r-*’, t, y ‘b--+’, t, s, ‘g-.o’) – в этом случае на одной координатной плоскости будут выведены графики трех функций: f(t) – красный с маркером *; y(t) – синий с маркером +; s(t) – зеленый с маркером о. При этом стиль линий также будет различным. Если не указывать параметры ‘цвет_стиль_маркер’, то цвет будет присвоен автоматически, линия будет сплошной, а маркер отсутствовать. Функции xlabel, ylable, zlable добавляют подписи к соответствующим осям, функция title добавляет заголовок в верхнюю часть окна, а функция text вставляет текст в любое место графика. Трехмерные поверхности обычно описываются функцией двух переменных z(x, у). Специфика построения трехмерных графиков требует не просто задания ряда значений х и у, то есть векторов х и у. Она требует определения для X и Y двумерных массивов — матриц. Для создания таких массивов служит функция meshgrid. В основном она используется совместно с функциями построения графиков трехмерных поверхностей. Функция meshgrid создает матрицы Х и Y, состоящие из повторяющихся строк и столбцов соответственно. Строки матрицы Х дублируют вектор х, а столбцы Y – вектор y. Синтаксис функции meshgrid: [X,Y] = meshgrid(x,y) Для построения графиков поверхностей используются функции mesh и surface. MATLAB определяет поверхность как z координаты точек над координатной сеткой плоскости x – y, используя прямые линии для соединения соседних точек. Функции mesh и surface отображают поверхность в трех измерениях. При этом mesh создает каркасную поверхность, где цветные линии соединяют только заданные точки, а функция surface вместе с линиями отображает в цвете и саму поверхность. Для установки палитры цветов трехмерных графиков служит команда colormap, записываемая в следующей форме сolormap цвет, где параметр «цвет» может принимать следующие значения hsv — цвета радуги; hot — чередование черного, красного, желтого и белого цветов; gray — линейная палитра в оттенках серого цвета; bone — серые цвета с оттенком синего; copper — линейная палитра с оттенками меди; pink — розовые цвета с оттенками пастели; white— палитра белого цвета; flag — чередование красного, белого, синего и черного цветов; lines — палитра с чередованием цветов линий; colorcube — расширенная палитра RGB; jet — разновидность палитры HSV; prism — призматическая палитра цветов; cool — оттенки голубого и фиолетового цветов; autumn — оттенки красного и желтого цветов; spring — оттенки желтого и фиолетового цветов; winter — оттенки синего и зеленого цветов; summer — оттенки зеленого и желтого цветов.
Уже построенные графики удобно редактировать в графическом окне Figure. Для этого используется панель инструментов, с помощью которой можно менять толщину, цвет, маркер линий. Также на панели инструментов есть «графическая лупа» («+» « – » ), позволяющая увеличивать и уменьшать отдельные части графика. В одном графическом окне можно одновременно вывести несколько графиков. Для этого графическое окно разбивается на необходимое количество окон командой subplot(m,n,p) или subplot(m n p) Эта команда разбивает графическое окно на т х п подокон, при этом m — число подокон по горизонтали, n — число подокон по вертикали, а р— номер подокна, в которое будет выводиться текущий график (подокна отсчитываются последовательно по строкам). Например » х=-5:0.1:5; subplot(1.2.1), plot(x.sin(x)) subplot(1.2.2), plot(sin(5*x).cos(2*x+0.2)) При этом графическое окно разобьется на два подокна в первом будет выведен график функции sin(x), во втором – зависимость cos(2x+0,2) от sin(5x). Задание 1. Создать файл-сценарий с программой для решения следующей задачи. Для восьми различных наборов значений коэффициентов: а= [-1 2 5 8 10 -4 -11 12], b= [2 -4 12 9 -11 -3 6 10] и с= [4 2 3 -2 -4 7 11 2] найти корни квадратного уравнения . Из найденных корней сформировать два массива X1 и X2. 2. Построить график функции одной переменной y=sin(x). Построить несколько графиков, sin(x) и cos(x). в одной координатной плоскости. 3. Построить графики зависимости массивов Х1 и Х2 от номера набора коэффициентов квадратного уравнения. Отредактировать графики. 4. Построить графики функций двух переменных: , где x и y изменяются от -8 до 8 с шагом 0,5; , где a и b изменяются от -5 до 5 с шагом 0,15
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (577)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |