- •Основные понятия Matlab
- •ВЫЧИСЛЕНИЯ
- •Особенности ввода команд и данных
- •Элементы данных в ML
- •Переменные в ML
- •Выражения
- •ОПЕРАЦИИ
- •Простейшие арифметические операции (АО)
- •Операции отношения
- •Логические операции
- •Приоритет элементарных операций в ML
- •Основные математические функции MatLab
- •Ввод и вывод информации. Операторы ввода/вывода
- •<имя переменной>= input(<текст>)
- •Для этого используют несколько способов.
- •disp(strcat('x=', num2str(x)))
- •y=sprintf('x=%3.1f ', x)
- •%[флаг][ширина поля вывода][точность] тип (спецификатор) формата
- •x=<значение>; y=<значение>; z=<значение>;
- •>> sprintf('x=%4.2f; y=%5.3f; z=%d;',x,y,z)
- •Условный оператор
- •МНОЖЕСТВЕННЫЙ ВЫБОР
- •Определенные циклы
- •Неопределенные циклы
- •ЗАДАНИЕ И ОБРАБОТКА ВЕКТОРОВ И МАТРИЦ
- •Способы задания векторов
- •<имя пер.>=[<значение1> <значение2> ….<значениеN>]
- •<имя пер.>=<нач. значение>:<шаг>:<конечное значение>
- •linspace (<нач. значение>,<кон. значение>,<кол. значений>)
- •Задание матриц
- •Операции
- •Операции над векторами – то же самое
- •Поэлементные операции
- •ОСОБЫЕ МАТРИЦЫ
- •Матрица случайных чисел:
- •Автоматическое заполнение матриц. Формирование матрицы блоками
- •>> X=[eye(4), 3*ones(4); 5*ones(4),9*eye(4)]
- •Дополнительно из задач
- •Применение функций обработки данных к векторам и матрицам
- •>> help datafun
- •Функции для векторов
- •Для матриц
- •Сумма элементов в столбцах матрицы:
- •Сумма элементов в строках матрицы:
- •Сумма элементов вектора:
- •Получение из матрицы вектора
- •Произведение элементов матрицы по столбцам:
- •Произведение элементов матрицы по строкам:
- •Максимальное значение в каждом столбце:
- •Максимальное значение в каждой строке:
- •Максимум во всей матрице
- •Наименьшее значение:
- •Среднее значение
- •Среднее арифметическое в столбцах. Результат – вектор-строка из средних арифметических в каждом столбце:
- •В строках
- •Сортировка.
- •по убыванию:
- •по убыванию
- •’’Зеркальное’’ отображение матрицы относительно вертикальной оси:
- •’’Зеркальное’’ отображение матрицы относительно горизонтальной оси:
- •Примеры использования
- •среднего и суммы:
- •Для матрицы:
- •Найти наибольшее значение среди элементов <8
- •Для матрицы
- •Сумму элементов побочной диагонали
- •Сумму элементов главной диагонали
- •Нормы матрицы
- •>> max_stolb=max(sum(abs(В)))
- •Найти среднее арифметическое в каждом столбце
- •Пр. Удалить максимальный элемент в векторе
- •Пр. Вставить значение 100 в вектор после элемента с номером k=3
- •Пр. В матрице поменять местами столбцы с минимальным и максимальным элементами.
- •[m_min,jmin]=min(min(b));
- •[m_max,jmax]=max(max(b));
- •buf=b(:, jmin);
- •Пр. Поменять порядок следования элементов в векторе
- •Еще полезные функции all, any и find и их использование
- •Для вектора
- •Получить индексы элементов, равных 2
- •Графика ML
- •Построение простейших графиков функций одной переменной Графики параметрических и кусочно-заданных функций
- •Plot(x, y, ‘<тип маркера, обозначение цвета и тип линий>’)
- •Отображение нескольких кривых на одном графике (в одних осях)
- •hold off
- •Вывод нескольких графиков в одном графическом окне
- •subplot(m, n, p),
- •Изменение масштаба графика
- •Диаграммы
- •Трехмерные графики
- •Т=-2:0.01:2; % задали вектор значений аргумента
- •Построение поверхности в 3-мерном пространстве
- •% Поверхность z=f(x,y)
- •Решение типовых математических задач
- •Файлы функций
- •function [рез.1, рез.2…рез.N] = <имя функции> (пар.1, пар.2,…пар.N)
- •[y1, y2,…,yn]=<имя функции>(<список вх. факт. параметров>)
- •<имя функции>(<список входных фактических параметров>)
- •function <имя функции> (пар.1, пар.2,…пар.n)
- •Отличия файла-функции от скрипт-файла
- •Примеры
- •function y=mysin(x)
- •Пример функции с 3 выходными параметрами
- •Использование функций для задач вычислительной математики
- •Построение графика функций
- •Действия с полиномами (многочленами)
- •Решение системы линейных уравнений.
- •Численное интегрирование
- •[i, n]=quadl (fun, a, b, tol, trace),
- •Решение уравнений
- •Нахождение минимума функции на заданном отрезке
- •Функция eval
- •Файл меню
- •while k~=6
- •Символьные вычисления в ML
- •Преобразование символьных выражений
- •Построение графиков символьных функций
- •Решение уравнений и систем
- •Решение дифференциальных уравнений и систем
- •Вычисление пределов
- •Определение производной
- •Вычисление интеграла
Графика ML
Визуализация вычислений является неотъемлемой частью процесса проектирования. МL обладает мощными графическими возможностями, и
пользователю пакета предоставляется широкий выбор средств для создания графических иллюстраций. Вывод графической информации в ML
осуществляется в отдельное окно, которое создается автоматически, когда используется какая-либо графическая функция. Для оформления и редактирования графиков предусмотрены специальные команды.
Построение простейших графиков функций одной переменной Графики параметрических и кусочно-заданных функций
Самая простая команда для построения графика - команда Plot(Y), где
Y - вектор. Результатом является графическое представление элементов вектора Y. По оси Х в этом случае указываются номера элементов. Такой график используется редко.
Чтобы построить график какой-либо функции на определенном интервале с отметками по оси Х, надо получить вектор из значений аргумента, потом получить вектор значений функции, а затем графически отобразить его. Для этого используется команда Plot(X,Y). Система ML
автоматически создаст графическое окно, построит оси координат, выберет наиболее оптимальный масштаб и выведет график цветом по умолчанию.
График строится по координатам x, y, находящимся в векторах, и
соединяется отрезками прямых. Для того, чтобы график был плавным (не ломаным), надо задавать мелкий шаг изменения значений аргумента.
Будем строить график функции sin(x) на участке от 0 до 2π.
Для получения вектора значений аргумента можно воспользоваться любым из известных нам способов.
Если известно количество значений, которое необходимо получить на определенном участке, то удобно воспользоваться функцией linspace. Если известен только участок, то можно самостоятельно задать шаг изменения аргумента на этом отрезке и использовать способ задания вектора через
66
двоеточие (нач.зн : шаг : конечное значение).
Зададим вектор, состоящий из 100 элементов на отрезке от 0 до 2*pi.
Получим вектор Y, |
элементы которого соответствуют значениям синусов |
элементов вектора X. Применим команду plot. |
|
>>Х = linspace (0, 2*pi, 100); % создание вектора на отрезке 0-2pi |
|
>>Y = sin(X); |
% созданиевектора значений функции |
|
% с использованием поэлементных операций |
>>Plot(X, Y) |
% вектора должны быть одинакового размера |
Можно использовать и такой вариант:
>>Plot(X, sin(X))
Полученный график недостаточно информативен. Здесь нет общего заголовка, заголовков осей, нет линий сетки, нет цвета линии, нет фона.
Все это можно сделать 2-мя способами: 1) либо использовать специальные команды, 2) либо воспользоваться специальной панелью настройки внешнего вида (п.м. Edit/ Figure Properties графического окна).
Там существуют многочисленные возможности настройки осей графика.
При открытии панели настройки графических объектов (Current Object Properties) можно установить цвет и размер шрифта, тип и толщину линии и т.п.. На этой же панели можно выбрать и тип, и цвет маркера. В некоторых версиях можно также установить тип графика. Возможности этих панелей ограничены версией пакета.
Во всех версиях можно воспользоваться командами. Например, для установки сетки - grid on. Команда grid on включает сетку, а командой grid off можно отключить сетку.
Можно добавить общее название графика командой title(<заголовок>)
Названия осей задаются командами: xlabel(<название оси x>); ylabel(<название оси y>)
Команда text(<координата x>,<координата y>, <текст>) выводит надпись, начиная с позиции, заданной координатами x и y.
67
Заголовок, название оси x, название оси y – параметры строкового типа(записываются в апострофах).
Например,
>>title(‘График функции f=sin(x)’)
>>text(-1, 0.5, ' Min ')
Для указания цвета, типа линий и маркера в команде Plot надо до-
бавить строковый параметр:
Plot(x, y, ‘<тип маркера, обозначение цвета и тип линий>’)
Этот дополнительный параметр может принимать следующие значе-
ния:
|
Тип маркера |
|
Цвет линии |
Тип линии |
|
|
|
|
|
|
|
Точка (.) |
|
|
Красный (r) |
Сплошная(-) |
|
Плюс (+) |
|
|
Желтый (y) |
Штрих(--) |
|
Кружок (o) |
|
|
Зеленый (g) |
Пунктир(:) |
|
Крестик (x) |
|
|
Синий (b) |
Штрих-пунктир(-.) |
|
Звездочка (*) |
|
|
Голубой (c) |
|
|
Квадрат (s) |
|
|
Розовый (m) |
|
|
Ромб (d) |
|
|
Черный (k) |
|
|
Треугольник |
с |
верш. |
Белый (n) |
|
|
вниз (v) |
|
|
|
|
|
Треугольник |
с |
верш. |
|
|
|
вверх |
(^) |
|
|
|
|
Пятиконечная звезда (p) |
|
|
|||
Шестиконечная |
звезда |
|
|
||
(h) |
|
|
|
|
|
|
|
|
|
|
|
Например, plot(x, y, ‘ * r -’)
Порядок указания атрибутов приведен выше.
Если указан только цвет, то график строится сплошной линией заданного цвета. Если указан символ, определяющий тип маркера, но не
68