
- •Основы работы и программирования, компьютерная математика Учебный курс
- •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.2 Специальные виды 2d - графиков
5.2.1 Представление функции в виде дискретных отсчетов
Представить графическую зависимость в виде дискретных отсчетов можно, пользуясь командой stem(…). В общем случае команда stem(…) имеет вид stem(t,y,S), где S является дополнительным параметром, который используется так же, как и в команде plot(…). Параметр S выбирается из таблицы 5.1.
stem(Y) – строит зависимость значений элементов вектора от номеров этих значений в виде дискретных отсчетов.
Пример 8. Построить график функции y(t) = e-tsin(10t), где аргумент t меняется от 0 до 1 с шагом 0,02. Функцию у задать как вектор (рис. 5.10).
>> t=[0:0.02:1];
>> Y=exp(-t).*sin(10*t);
>>stem(Y)
Рис. 5.10
Цвет и стиль линии, а также форму маркера на рис. 5.9 система MATLAB выбрала самостоятельно.
Пример 9. Построить график функции y(t) = e-tsin(10t), где аргумент t меняется от 0 до 1 с шагом 0,02 (рис. 5.11). Дискретные отсчеты закрасить красным цветом, обозначить маркером в виде * и вычертить штриховой линией.
>> t=[0:0.02:1];
>> Y=exp(-t).*sin(10*t);
>> stem(t,Y,'r*--')
Рис. 5.11
Обратите внимание на то, чем отличается на графиках рис. 5.10 и рис. 5.11 шкала оси абсцисс. На рис. 5.10 значения оси абсцисс представляют собой целочисленный ряд 0, 1, 2, …, 50, т.е. соответствуют номерам элементов вектора Y, а на рис. 5.11 значения абсцисс представляют собой определенную на интервале [0;1] и возрастающую с шагом 0,02 последовательность действительных чисел.
5.2.2 Лестничные графики
Лестничные графики представляют собой ступеньки с огибающей, заданной в виде функции y(t). Они используются, например, для наглядного представления функции y(t), представленной результатами ряда измерений ее значений. При этом в промежутках между измерениями значения функции считаются постоянными и равными величине последнего результата измерения.
Для построения лестничных графиков используется команда stairs(…). Общий вид аргумента команды stairs(…) – такой же, как и в командах plot(…) и stem(…). Правила использования дополнительного параметра S аналогичны правилам, применяемым для команд plot(…) и stem(…).
Пример 10. Построить лестничный график функции y(t) = e0,1t, где аргумент t меняется от 0 до 20 с шагом 1 (рис 5.12). Описание дополнительного параметра S (см. табл. 5.1): цвет – зеленый, тип маркера – «квадрат», стиль линии – пунктирная.
Программу для расчета значений функции у(t) и вывода требуемого графика (рис. 5.12) представим в двух вариантах:
Вариант 1 Вариант 2
t=[0:20]; t=[0:20];
y=exp(0.1*t); stairs(t,exp(0.1*t),'gs:')
stairs(t,y,'gs:')
Рис. 5.12
Программа в варианте 2 на одну строку короче. MATLAB может вычислять значения у(t) не только предварительно, но и непосредственно при использовании команды stairs(…). Это оказывается верным также и в случаях применения команд plot(…), stem(…) и команды errorbar(…), которая рассматривается ниже.