Построение графиков функций
Здравствуйте! В этой статье мы разберем построение графиков на MATLAB для различных математических функций, а также научимся выводить несколько графиков одновременно.
Где прописывать код
Но для начала научимся создавать скрипты в Matlab. Так вам будет удобнее работать с Matlab, писать коды и вообще приятнее, когда видишь всю программу сразу, а не построчно. Делается это просто: нажать New —> Script —> ScriptCtrl+N.
Откроется вот такое окно:
После того, как вы напишите сюда свой код, нужно его запустить. Это делается с помощью вот этой кнопки.
Графики MATLAB
Построение графиков функций в MATLAB можно реализовать разными способами, например, через plot или polar, с полным списком можете ознакомиться здесь.
Но сейчас речь пойдёт о функции ezplot.
Разберём такой пример:
Построить графики функций y=e^((-x^2)/2) и у =x^4-x^2 для -1.5 ≤ x ≤1.5 на одной и той же координатной сетке.
Открываем скрипт и пишем нехитрый код:
Вывод:
На этом примере мы видим, как работает функция ezplot(), где в качестве аргументов указывается функция без ‘y=’ и интервал значений в квадратных скобках. Чтобы построить два графика в одном окне используем hold on. А axis tight — устанавливает границы осей в диапазоне данных значений.
Разберём ещё один:
Построить график функции y=x^3-x для интервала -4≤x≤4.
Как вы догадались, скрипт будет такой:
Его скорее всего проще записать в компилятор напрямую.
Давайте ещё один:
Построить график функции у=sin(1/x^2) для интервала -2 ≤ x ≤2.
И последний:
Построить график функции y=tan(x/2) для интервала — π ≤ x ≤ π и -10 ≤ y ≤10.
В данном случае мы указали границы оси с помощью axis от -π до π.
Если остались вопросы по поводу построения графиков функций в MATLAB, то обязательно пишите в комментариях, ответим.
Matlab построить график по уравнению
Обычная графика MATLAB
Построение графиков точками и отрезками прямых
Графики в логарифмическоми полулогарифмическом масштабе
Гистограммы и диаграммы
Графики специальных типов
Создание массивов данных для трехмерной графики
Построение графиков трехмерных поверхностей, сечений и контуров
Средства управления подсветкой и обзором фигур
Средства оформления графиков
Одновременный вывод нескольких графиков
Управление цветовой палитрой
Окраска трехмерных поверхностей
Двумерные и трехмерные графические объекты
Одно из достоинств системы MATLAB — обилие средств графики, начиная от команд построения простых графиков функций одной переменной в декартовой системе координат и кончая комбинированными и презентационными графиками с элементами анимации, а также средствами проектирования графического пользовательского интерфейса (GUI). Особое внимание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов.
Описанию графических функций и команд посвящена обширная электронная книга в формате PDF. Объем материала по графике настолько велик, что помимо вводного описания графики в уроке 3 в этой книге даются еще два урока по средствам обычной и специальной графики. Они намеренно предшествуют систематизированному описанию большинства функций системы MATLAB, поскольку графическая визуализация вычислений довольно широко используется в последующих материалах книги. При этом графические средства системы доступны как в командном режиме вычислений, так и в программах. Этот урок рекомендуется изучать выборочно или выделить на него не менее 4 часов.
Построение графиков отрезками прямых
Функции одной переменной у(х) находят широкое применение в практике математических и других расчетов, а также в технике компьютерного математического моделирования. Для отображения таких функций используются графики в декартовой (прямоугольной) системе координат. При этом обычно строятся две оси — горизонтальная X и вертикальная Y, и задаются координаты х и у, определяющие узловые точки функции у(х). Эти точки соединяются друг с другом отрезками прямых, т. е. при построении графика осуществляется линейная интерполяция для промежуточных точек. Поскольку MATLAB — матричная система, совокупность точек у(х) задается векторами X и Y одинакового размера.
Команда plot служит для построения графиков функций в декартовой системе координат. Эта команда имеет ряд параметров, рассматриваемых ниже.
plot (X, Y) — строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X. Если X или Y — матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы.
Приведенный ниже пример иллюстрирует построение графиков двух функций — sin(x) и cos(x), значения функции которых содержатся в матрице Y, а значения аргумента х хранятся в векторе X:
На рис. 6.1 показан график функций из этого примера. В данном случае отчетливо видно, что график состоит из отрезков, и если вам нужно, чтобы отображаемая функция имела вид гладкой кривой, необходимо увеличить количество узловых точек. Расположение их может быть произвольным.
Рис. 6.1. Графики двух функций в декартовой системе координат
plot(Y) — строит график у(г), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то выполняется команда plot (real (Y). imag(Y)). Во всех других случаях мнимая часть данных игнорируется.
Вот пример использования команды plot(Y):
Соответствующий график показан на рис. 6.2.
Рис. 6.2. График функции, представляющей вектор Y с комплексными элементами
plot(X.Y.S) — аналогична команде plot(X.Y), но тип линии графика можно задавать с помощью строковой константы S.
Значениями константы S могут быть следующие символы.
Построение графиков.
Основная команда для построения графиков функций одной переменной в MATLAB – команда plot. При этом графики строятся в отдельных масштабируемых и перемещаемых окнах (Figure).
Возьмем вначале простейший пример – построим график синусоиды. Следует помнить, что MATLAB строит графики функций по ряду точек, соединяя их отрезками прямых, т. е. осуществляя линейную интерполяцию функции в интервале между соседними точками. Зададим интервал изменения аргумента х от 0 до 10 с шагом 0.1.
Текст соответствующего M-файла:
x=0:0.1:10; y=sin(x); plot(x,y) |
Графическое окно с результатом представлено на рис. 1.
Рис. 1. Графическое окно, в котором построен график синусоиды.
Дополнительные возможности для оформления графиков:
· hold on (hold off) – объединение (отключение) нескольких графиков на одних координатных осях;
· grid on (grid off) – нанесение (отключение) линий сетки на график;
· title(‘заголовок’) – вывод заголовка функции;
· xlabel(‘подпись под осью x’),ylabel(‘подпись под осью y’) – соответственно подписи осей х и у;
· text(m,n,’надпись’)– надпись в заданном месте рисунка, m и n – координаты точки на графике, начиная с которой выводится запись (координаты точки задаются в тех же единицах измерения, что и координаты осей графика);
· legend(‘легенда 1’, ‘легенда 2’, … , ‘легенда n’, k)– легенды для каждого из n-графиков k – местоположение легенды.
· Функцияsubplot(m,n,p) – это разделение графического окна MATLAB на несколько подокон с различными графиками, где m и n – число частей по вертикали и по горизонтали, на которые делится графическое окно, p – номер подокна в котором нужно отобразить график.
Полная форма команды построения графиков функций одной переменной:
где x1, x2, … , xn – массивы абсцисс графиков; y1, y2, …, yn – массивы ординат; s1, s2, … , sn – строка, состоящая из трех символов, которые определяют цвет линии, тип маркера и тип линии графиков.
Кроме того, для построения графиков функций одной переменной можно использовать графическую функцию fplot. Она позволяет строить график функции, заданной в символьном виде (например, арифметическое выражение, определяющее функцию, заключено в апострофы), в интервале изменения аргумента от xmin до xmax без фиксированного шага изменения х. Рассмотрим ее применение для построения графика функции на интервале от -10 до 10. Эта функция имеет устранимую неопределенность в точке 0. Построение ее графика с помощью plot в этой точке не представляется возможным. Соответствующее графическое окно с графиком представлено на рис. 2. Заметим, что в точке результат правильный, т.е. .
Текст соответствующего M-файла:
fplot(‘sin(x)/x’,[-10,10]);grid on |
Рис. 2. Графическое окно, в котором построен график sin(x)/x.
Команда grid on (сетка) позволяет включить отображение сетки, которая строится пунктирными линиями.
Таблица 1.6. Параметры для управления цветом и видом графиков.
Параметр | Обозначение |
Тип линии | |
сплошная | — |
пунктирная | : |
штриховая | — |
штрихпунктирная | -. |
Цвет линии | |
красный | r |
желтый | y |
зеленый | g |
синий | b |
голубой | c |
розовый | m |
черный | k |
белый | w |
Тип маркера | |
точка | . |
кружок | о |
крестик | x |
плюс | + |
звездочка | * |
квадрат | s |
ромб | d |
треугольник вершиной вниз | v |
треугольник вершиной вверх | ^ |
Пример. Построение графика функции на отрезке [-5; 5] , используя графические функции plot и fplot
Пример текста программы для М-файла
Примеp. Определение наибольшего и наименьшего значения функции на отрезке [-5; 5] и построение ее графика
http://phys.nsu.ru/cherk/matlab6/Chapter%206/1.htm
http://helpiks.org/8-71400.html