
- •Моделирование движения голономных механических систем в пакете Matlab
- •Введение
- •Основы программирования в системе Matlab
- •Работа с матрицами
- •Построение графиков
- •Дескрипторная графика [2] Графические объекты
- •Использование дескрипторов объектов
- •Функции для работы с графическими объектами
- •Установка свойств объекта
- •Определение осей или рисунка
- •Нахождение дескрипторов существующих объектов
- •Скрипты и функции
- •Полезные команды
- •Решение систем дифференциальных уравнений
- •Визуализация движения в Матлабе
- •Библиотека примитивов
- •Окружность
- •Заштрихованная кривая
- •Спираль
- •Пружина
- •Примеры моделирования голономных систем Диск с маятником
- •Визуализация динамики механической системы.
- •Уравнения равновесия системы
- •Динамические эффекты на примере диска с маятником
- •Цилиндр, катающийся в подвижном желобе
- •Заключение
- •Литература
Построение графиков
Основные программные функции построения графиков
Команда Matlab plot предназначена для построения графика. Рассматриваются наиболее распространенные варианты ее использования:
если в качестве аргумента передать один вектор, получим график зависимости компонент вектора от индексов этих компонент;
если в качестве аргументов указать два вектора, plot(x,y) выдаст график зависимости y от x.
Для создания вектора, элементы которого составляют арифметическую прогрессию, используется следующий синтаксис:
Первый член арифметической прогрессии : разность прогрессии: последний член прогрессии
Результатом выполнения вышеуказанных команд будет следующий график (рис. 2):
Рис. 2
С помощью команд xlabel, ylabel задаются метки осей. Команда title используется для задания названия графика и установки параметров отображения названия графика.
Для создания нескольких графиков за один вызов plot необходимо передать в качестве параметра несколько пар векторов x-y. При этом все графики автоматически будут иметь разные цвета отображения. Команда legend используется для идентификации графиков.
Команда-переключатель hold позволяет добавлять графики к уже существующим. После выполнения команды hold on Matlab не замещает существующий график новым при очередном выполнении команды plot. Если не использовать hold on, существующий график заменится новым при вызове функции plot. Чтобы новый график отображался с параметрами по умолчанию (цвет, шрифт и т.п.), необходимо ввести команду clf reset в командном окне перед созданием нового графика.
Простейшие функции работы с графиками [2]
Для изменения формата представления графиков в Matlab предусмотрен набор функций. Рассмотрим некоторые из них.
По умолчанию Matlab находит максимум и минимум значений графика и устанавливает длины осей в соответствии с этими значениями. С помощью команды axis можно задать длины осей.
axis([xmin xmax ymin ymax zmin zmax])
Параметры функции axis:
xmin, xmax – соответственно минимальные и максимальные значения оси X,
ymin ymax – соответственно минимальные и максимальные значения оси Y,
zmin zmax – соответственно минимальные и максимальные значения оси Z, не указываются, если график двумерный.
xlim, ylim, zlim – устанавливают и возвращают минимальные и максимальные значения осей.
axis auto возвращает значения длин осей по умолчанию
axis square устанавливает одинаковую длину для осей X и Y
axis on делает оси видимыми (значение по умолчанию).
axis off делает оси невидимыми.
grid on включает отображение сетки графика
grid off выключает отображение сетки графика
meshgrid создает прямоугольную сетку в 2-D и 3-D пространстве.
meshgrid(x,y) создает X и Y массивы, причем строки выходного массива X являются копиями вектора x, строки выходного массива Y – копии вектора y:
Следующие два вызова функции meshgrid равнозначны:
[X,Y] = meshgrid(x)
[X,Y] = meshgrid(x,x).
Вызов [X,Y,Z] = meshgrid(x,y,z) возвращает трехмерный массив для вычисления функций трех переменных и трехмерных объемных графиков в узлах получаемой сетки.
Команда mesh используется для отображения поверхности в трех измерениях.
mesh(X,Y,Z) рисует каркасную сетку. Если X и Y – векторы, length(X) = n и length(Y) = m, где [m,n] = size(Z). Высота Z – это однозначная функция, определенная над прямоугольной сеткой. Цвет сетки устанавливается пропорционально значению Z. В этом случае (X(j), Y(i), Z(i,j)) пересечения линий каркасной сетки, X и Y соответствуют соответственно колонкам и строкам Z. Если X и Y – матрицы, (X(i,j), Y(i,j), Z(i,j)) – пересечения линий каркасной сетки.
Отметим, что текстовые и числовые результаты выполнения команд отображаются в командном окне, в то время как графические результаты – в отдельном графическом окне.