- •Основы работы и программирования, компьютерная математика Учебный курс
- •Isbn ооо «Харвест», 2008
- •Предисловие
- •Введение
- •Глава 1 знакомство с matlab и простейшие вычисления
- •1.1. Рабочая средаMatlab
- •1.2. Арифметические вычисления
- •1.3. Вещественные числа
- •1.4. Форматы вывода результата вычислений
- •1.5 Комплексные числа
- •1.6 Векторы и матрицы
- •1.7 Встроенные функции. Функции, задаваемые пользователем
- •1.8 Сообщения об ошибках и их исправление
- •1.9 Просмотр и сохранение переменных
- •1.10 Матричные и поэлементные операции над векторами и матрицами
- •1.11 Решение систем линейных уравнений
- •Вопросы для самопроверки
- •Глава 2 работа с массивами
- •2.1 Создание векторов и матриц
- •2.2 Применение команд обработки данных к векторам и матрицам
- •2.3 Создание специальных матриц
- •2.4 Создание новых массивов на основе существующих
- •2.5 Вычисление собственных значений и собственных векторов. Решение типовых задач линейной алгебры
- •Вопросы для самопроверки
- •Глава 3 м-файлы
- •3.1 Файл-программы
- •3.2 Файл-функции
- •Вопросы для самопроверки
- •Глава 4 программирование
- •4.1 Операторы отношения и логические операторы
- •4.2 Операторы цикла
- •4.3 Операторы ветвления
- •4.4 Оператор переключения switch
- •4.5 Оператор прерывания цикла break
- •4.6 Пример сравнения быстродействия матричных и скалярных операций
- •Вопросы для самопроверки
- •Глава 5 высокоуровневая графика
- •5.1 2D графика
- •5.1.1 Графики в линейном масштабе
- •5.2 Специальные виды 2d - графиков
- •5.2.1 Представление функции в виде дискретных отсчетов
- •5.2.2 Лестничные графики
- •5.2.3 Графики с указанием погрешности
- •5.2.4 Графики в логарифмическом и полулогарифмическом масштабах
- •5.2.5 Графики параметрических функций
- •5.3 3D графика
- •5.3.1 Линейчатые поверхности
- •5.3.2 Каркасные поверхности
- •5.3.3 Контурные графики
- •5.3.4 Сплошная освещенная поверхность
- •5.4 Оформление, экспорт и анимация
- •5.4.1 Оформление графиков
- •5.4.2 Сохранение и экспорт графиков
- •5.4.3 Анимация
- •Вопросы для самопроверки
- •Глава 6 прикладная численная математика
- •6.1 Операции с полиномами
- •6.2 Решение уравнений и их систем
- •6.3 Минимизация функции одной переменной
- •6.4 Минимизация функции нескольких переменных
- •6.5 Вычисление определенных интегралов
- •6.6 Решение дифференциальных уравнений
- •6.7 Аппроксимация и интерполяция данных
- •6.8 Интерполяция двумерных и многомерных данных
- •Вопросы для самопроверки
- •Глава 7 символьные вычисления
- •7.1 Символьные переменные, константы и выражения
- •7.2 Вычисления с использованием арифметики произвольной точности
- •7.3 Команды упрощения выражений – simplify, simple
- •7.4 Команда расширения выражений – expand
- •7.5 Разложение выражений на простые множители – команда factor
- •7.6 Приведение подобных членов – команда collect
- •7.7 Обеспечение подстановок – команда subs
- •7.8 Вычисление пределов – команда limit
- •7.9 Вычисление производных – команда diff
- •7.10 Вычисление интегралов – команда int
- •7.11 Разложение в ряд Тейлора – команда taylor
- •7.12 Вычисление суммы ряда – команда symsum
- •7.13 Решение уравнений и их систем – команда solve
- •7.14 Решение дифференциальных уравнений – команда dsolve
- •7.15 Прямое и обратное преобразования Лапласа – команды laplace,ilaplace
- •7.16 Графики символьных функций – команды ezplot, ezpolar
- •7.17 Прямой доступ к ядру системы Maple – командаmaple
- •7.18 Разложение рациональной дроби на сумму простейших дробей
- •7.19 Интерполяционный полином Лагранжа
- •7.20 Решение неравенств и систем неравенств
- •7.21 Разложение в ряд Тейлора функции нескольких переменных
- •7.22 Решение дифференциальных уравнений с помощью степенных рядов
- •7.23 Решение тригонометрических уравнений
- •Вопросы для самопроверки
- •Приложения Приложение 1. Справочная система matlab
- •Приложение 2. Знакомство с пакетами расширения системыMatlab
- •Приложение 3. Задания для самостоятельной работы
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Литература
5.4.3 Анимация
В ряде случаев полезно наблюдать за тем, как строится график функции y с аргументом x по мере вычисления ее значений. При этом мы можем следить за динамикой некоторого процесса (т. е. за его развитием), а не наблюдать статичную итоговую картинку, как было ранее. С этой целью используется команда comet(x,y), который позволяет получить анимированный график, где кружок, обозначающий точку, перемещается, оставляя за собой след в виде линии (траектории движения). График похож на летящую комету со светящимся хвостом. Скоростью движения кружка можно управлять, манипулируя шагом изменения аргумента. Длину хвоста можно задать в виде дополнительного параметра S. В этом случае команда comet(…) имеет вид comet(x,y,S), где S определяет длину хвоста. По умолчанию значение S принимается равным 0,1.
Пример 22. С использованием команды comet(x,y) построить траекторию движения фиксированной точки на окружности, катящейся по прямой (график циклоиды). Циклоида задается в виде параметрической функции, определяемой исходными уравнениями x(t) = t - sin(t), y(t) = 1 - cos(t). Аргумент t изменяется на интервале [0;10π] с шагом 0,001.
Вариант 1 Вариант 2
t=[0:0.001:10*pi]; t=[0:0.001:10*pi];
x=t-sin(t); comet(t-sin(t),1-cos(t))
y=1-cos(t);
comet(x,y)
Мы не приводим графика циклоиды потому, что система MATLAB устроена так, что анимированный график нельзя сохранить в буфере обмена и восстановить его после завершения работы программы. При изменении размеров анимированного графика, при его повороте, увеличении или уменьшении, его запоминании с последующим восстановлением или других действиях с графиком траектория движения точки пропадает.
Отметим, что использовать анимацию можно не только в 2D графике но и при построении графических зависимостей функции двух переменных. Для этого следует использовать команду comet3(x,y,z), где x, y являются аргументами функции z. Команду comet3(…) можно применять и с четвертым числовым параметром, который, как и в команде comet(…), определяет длину хвоста кометы.
Вопросы для самопроверки
1. Как с помощью команды plot(…) вывести в одном окне графики двух одномерных функций, аргументы которых заданы на интервалах разнойт длины, но шаг дискретизации аргументов одинаков?
2. Какую команду следует использовать для вывода графика одномерной функции, если возникают затруднения с выбором шага дискретизации аргумента?
3. В какой последовательности располагаются символы, определяющие цвет, стиль линии и тип маркера при использовании команд plot(…), stem(…), stairs(…), errorbar(…)?
4. Когда целесообразно использовать команду plotyy(…)?
5. В чем особенность построения графиков параметрических функций?
6. Как построить каркасную поверхность для функции двух переменных с использованием команды plot3(…)?
7. С какой целью применяют команду colorbar(…)?
8. Что такое контурный график?
9. Какова последовательность действий для оцифровки линий на контурном графике?
10. Для чего служит команда colormap(…)?
11. С помощью каких команд на график можно нанести и убрать координатную сетку?
12. Для чего служит команда legend(…) и как раположить информацию, созданную с помощью этой команды, в левом нижнем углу графика одномерной функции?
13. Какова последовательность действий, позволяющая сохранить график, построенный в MATLAB, в текстовом редакторе WORD?
14. Для чего используется анимация графиков?
15. Что определяет параметр S в команде comet(x,y,S)?
16. С помощью какой команды можно анимировать график функции двух переменных?