- •А.К. Ефремов интегрированная
- •Рекомендовано редсоветом мгту им. Н.Э. Баумана
- •Isbn 5-7038-2301-3 мгту им. Н.Э. Баумана, 2003
- •1. Интерфейс системЫ matlab
- •1.1. Программная группа matlab
- •1.2. Командное окно matlab
- •1.2.1. Главное меню
- •1.2.2. Панель инструментов
- •1.3. Настройка параметров рабочего пространства
- •1.4. Справочная система matlab
- •2. Работа в режиме прямых вычислений
- •3. Базовые объекты системы matlab
- •3.1. Способы формирования матриц и векторов
- •3.2. Матричные операции и функции
- •3.3. Решение линейных уравнений
- •3.4. Вычисление корней полиномов
- •3.5. Обработка данных
- •4. Графические средства системы matlab
- •4.1. Графические объекты на плоскости
- •4.1.1. Функция plot
- •4.1.2. Функции fplot и ezplot
- •4.1.3. Другие графические функции
- •4.1.5. Обработка данных
- •4.2. Построение трехмерных поверхностей и тел
- •4.2.1. Основные графические функции
- •4.2.2. Дополнительные возможности
- •5. Основы программирования в среде matlab
- •5.1. Общие положения
- •5.2. Примеры простых программ
- •Xlabel('sin(X)') % Надпись по оси х
- •Xlabel('X') % Надпись по оси абсцисс
- •5.3. Программа с использованием внешней функции
- •5.4. Дополнительные программы
- •5.4.1. Дифференцирование функций
- •Xlabel('Число элементов массивов')
- •Xlabel('Число элементов массивов')
- •5.4.2. Функции eval, feval
- •Xlabel(‘t’), ylabel(‘y, dy/dt’)
- •Xlabel(‘y’), ylabel(‘dy/dt’)
- •6. Символьные вычисления
- •6.1. Определение символьной переменной
- •6.2. Основные функции
- •6.3. Математический анализ
- •6.3.1. Функция limit – предел функции одной переменной
- •6.3.2. Функция diff – дифференцирование функции одной переменной
- •6.3.3. Функция int – интегрирование функции одной переменной
- •6.3.4. Функция symsum – суммирование членов рядов
- •6.3.5. Функция taylor – разложение функции в ряд Тэйлора
- •6.4. Символьное решение уравнений
- •6.4.1. Решение отдельных уравнений
- •6.4.2. Решение систем уравнений
- •6.4.3. Решение дифференциальных уравнений
- •7. Пакет моделирования динамических систем simulink
- •7.1. Рабочая среда Simulink
- •7.2. Представление динамической системы в виде структурной схемы
- •7.3. Основные приемы работы в среде Simulink
- •7.4. Модель с ветвлением соединений
- •7. 5. Интегрирование дифференциального уравнения
- •Список литературы
- •Оглавление
- •Приложение
- •Разделы справочной системы
- •Программирования и отладки программ
- •Графические средства matlab
- •Символьные вычисления (symbolic math toolbox)
4.1. Графические объекты на плоскости
4.1.1. Функция plot
Основной графической функцией является функция plot:
plot(x) – зависимость элементов вектора от их порядковых номеров;
plot(x,y) – зависимость y(x);
plot(x,y1,x,y2) – зависимости y1(x) и y2(x) на одном графике;
plot(y1,y2) – параметрическая зависимость;
plot(x,y,S) – зависимость y(x), S – строковая переменная, которая определяет способы отображения линии графика и маркера, а также их цвет; она может включать до трех символов, например, ‘-*r’ – непрерывная линия с маркерами типа «звездочка», цвет красный; если цвет не назначен, то он выбирается по умолчанию: от синего до желтого.
Ниже приведен перечень следующих обозначений:
Тип линии:
Непрерывная –
Штриховая –
Двойной пунктир :
Штрихпунктирная -.
Тип маркера:
Точка .
Плюс +
Звездочка *
Кружок о
Крест х
Квадрат s
Ромб d
Пятигранник р
Шестигранник h
Стрелка вниз v
Стрелка вверх ^
Стрелка влево <
Стрелка вправо >
Цвет:
Синий b
Зеленый g
Красный r
Голубой с
Фиолетовый m
Желтый y
Белый w
Черный k
Зависимость элементов вектора от их номеров:
» x=pi*[0:0.01:2]; X=sin(x); plot(X), grid
где grid – координатная сетка на графике.
Формируем новый вектор Z, производя поэлементное умножение X (как массива) на Y:
» Y=cos(3*x); plot(x,X,x,Y), grid
Строим три графика в одной системе координат:
» Z=X.*Y; plot(x,X,x,Y,x,Z), grid
Строим параметрическую зависимость, исключая х. Получаем график фигуры Лиссажу, т.е. результат геометрического сложения гармонических колебаний, частоты которых находятся друг с другом в кратных соотношениях.
» plot(X,Y,’r’), title('Фигура Лиссажу'), grid
На этот график нанесено его название, цвет линии – красный.
Следующий вариант команды позволяет строить фигуры Лиссажу при произвольной кратности k, ввод значений которой организуется с помощью оператора input (приглашение имеет вид «к = > »).
» k=input('k => '); Y=cos(k*x); plot(X,Y), title('Фигуры Лиссажу'), grid
Для ввода нового значения k вся командная строка должна вызываться с помощью стрелочных клавиш: [] или [].
» k=input('k => '); Y=cos(k*x); plot(X,Y,'*m'); title('Фигуры Лиссажу'); grid
Здесь графики отображаются в виде дискретных звездочек фиолетового цвета.
Используя операторы цикла, можно составить программу построения фигур Лиссажу при упорядоченном изменении кратности.
4.1.2. Функции fplot и ezplot
Функция fplot в наиболее общем случае имеет формат
fplot(‘<Имя функции>’,limits,tol,n,S),
где ‘<Имя функции>’ – имя m-файла или строка, вычисляемая функцией eval; – диапазоны изменения аргумента функции и ее значений; tol – допустимая относительная ошибка (по умолчанию 2e-3); n + 1 – число точек; S – строковая переменная, аналогичная применяемой в функции plot.
Примеры:
» fplot('sin(x)',pi*[0 2]), grid
» fplot('x.^3+3*x.^2-2',[-3 2]), grid
» fplot('x.^3+3*x.^2-2',[-3 2 -3 3]), grid
Особенностью функции ezplot является то, что интервал значений аргумента задан по умолчанию (), но может быть изменен; кроме того, на графике отображаются функциональная зависимость и независимая переменная по оси абсцисс. Диапазон изменения по оси ординат назначается автоматически. Сравните
» ezplot('sin(x)'), grid
» ezplot('sin(x)',pi*[0 4]), grid
и
» ezplot('x.^3+3*x.^2-2'), grid
» ezplot('x.^3+3*x.^2-2',[-3 2]), grid