Matlab. Математические вычисления презентация

Содержание


Презентации» Математика» Matlab. Математические вычисления
Содержание
 Введение
 Основы Matlab
 Вычисления в Matlab
 Функции для работы сMatlab (MATrix LABoratory) – это
 математические вычисления
 создание алгоритмов
 моделирование
 анализ,Пакеты, встроенные в Matlab
 Matlab Web Server
 Bioinformatics Toolbox
 Communications Toolbox
ОСНОВНЫЕ ЧАСТИ ПАКЕТА MATLAB:
 Язык Matlab
 Среда Matlab
 Управляемая графика
 БиблиотекаЯзык Matlab
 Си- и Паскаль-подобный объектно-ориентированный
 Огромный набор встроенных функций
 РасширяемыйСреда Matlab
 Интерактивная работа
 Управление переменными в рабочем пространстве
 Редактор
 ОтладчикУправляемая графика
 Команды высокого уровня для работы с 2D- и 3D-графикой
Библиотека математических функций 
 Обширная коллекция вычислительных алгоритмов от элементарных функцийПрограммный интерфейс
 API для взаимодействия с программами на языках Си иMatlab – язык для работы с матричными объектами
 Основной объект MatlabЧисла
 Основной базовый тип для матриц
 Хранятся в формате long (double)Другие типы
 Строки
 Массивы структур (записей)
 Массивы ячеек
 позволяют объединять вПеременные и выражения
 Переменные определяются пользователем при помощи оператора присваивания: x=5
Операторы
 При составлении выражений могут быть использованы операторы:
  + Операции отношенияЛогические операцииКомандная строка
 Простейший способ взаимодействия с Matlab – работа в команднойРабота с КС упрощается благодаря окну Command History (меню Desktop)
 РаботаРабочее пространство (Workspace)
 Все переменные хранятся в РП
 порой это отнимаетБолее подробную информацию о переменных РП можно вывести командой whos:
 БолееПосле закрытия сеанса работы MATLABа все переменные, вычисленные в течение сеанса,Команда save
 save – сохраняет все переменные в файл matlab.mat
 saveКоманда load
 Служит для загрузки ранее сохранённых данных
 load – загружаетКоманда clear
 Служит для удаления переменных из РП
 clear – удаляетРабочий каталог
 Все файлы (данные, функции и пр.), созданные пользователем сохраняютсяСохранение рабочей сессии
 diary – сохраняет лог текущей сессии (весь текстовыйВЫЧИСЛЕНИЯ В MATLABЭлементарные функции  Тригонометрические
 sin
 cos
 tan
 cot
 asin
 acos
 atan
Элементарные функции  Экспоненциальные
 exp
 log – ln
 log10
 log2
 sqrt
Элементарные функции Округление и остатки
 fix – округление к нулю
 floorЭлементарные функции Комплексные числа
 abs(z) – модуль комплексного числа z
 angle(z)Элементарные функции
 Просмотреть полный список элементарных функций можно командой
 help elfunКонстанты
 pi – число pi
 Inf – бесконечность
 -Inf – минусОдномерные массивы
 Задание массива:
 a = [ -3 4 2];
 aДвумерные массивы
 Задание массива:
 a = [ 1 2; 3 4;Векторы-столбцы и векторы-строки
 Любая строка и столбец матрицы – это вектор
Размерность и размер матриц
 Размерность массива определяется функцией ndims(A)Конкатенация
 Рассмотрим две матрицыДиапазоны
 Можно использовать как для задания значений векторов, так и дляДля обращения к последнему элементу любой размерности можно использовать служебное словоУдаление строк и столбцовПерестановка элементовФУНКЦИИ ДЛЯ РАБОТЫ С МАССИВАМИ В MATLABСоздание матриц специального вида
 Для работы с матрицами удобно пользоваться следующимиМАТРИЦЫ СПЕЦИАЛЬНОГО ВИДА
 Рассмотрим основной синтаксис на примере функции создания единичнойФункция diag: работа с диагональными матрицами
 Функция diag: работа с диагональнымиВЫЧИСЛЕНИЯ С ЭЛЕМЕНТАМИ МАССИВОВ
 Простейшие операции над элементами массивов:
 sum: суммаРассмотрим работу некоторых из этих функций на примере sum
 Рассмотрим работуКумулятивная сумма вычисляется так же, только происходит накопление вычисленных значений вМаксимальный и минимальный элементы:
 Максимальный и минимальный элементы:Вызов функций max/min с двумя выходными параметрами позволяет определить и индексФункция sort производит сортировку элементов матрицы по столбцам:
 Функция sort производитЛОГИЧЕСКИЕ ФУНКЦИИ
 All(v) – возвращает истину, если все элементы вектора vAny(v) – возвращает истину, если хотя бы один элемент вектора vПоиск в массиве
 find: определяет индексы элементов, удовлетворяющих заданному условиюПример применения команды find к матрицам:
 Пример применения команды find кМатематические матричные операции
 det – вычисление определителя квадратной матрицыМАТРИЧНЫЕ И ПОЭЛЕМЕНТНЫЕ ОПЕРАЦИИ
 При работе с матрицами можно использовать два‘  транспонирование
 ‘  транспонирование
 + матричное (и поэлементное) сложение
Такие операции часто используются, если нужно применить какую либо функцию коНекоторые операции по умолчанию считаются поэлементными:
 Некоторые операции по умолчанию считаютсяОперации «деления» слева и справа
 Применяются для решения систем линейных уравненийГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ MATLABГрафика в Matlab
 Высокоуровневая 
 не требует от пользователя детальных знанийДвумерные (2D-) графики
 Простейший способ построения 2D-графика:
 задать область построения (диапазон);
Построение второго графика
 Если сразу же построить другой график, то старыйПостроение двух графиков в одной системе координат
 Два графика в однойПример закрепления графиковПример построения двух графиков одной командойДополнительные параметры команды plot 
 В команде plot можно задать дляПример команды plotПостроение нескольких графиков в одном окне в разных СК
 Поверхность графическогоПервый subplotВторой subplotПостроение графиков в разных графических окнах
 Создать новое графическое окно можноfigure : пример использования 1Axis: управление масштабом
 Команда  axis([Xmin Xmax Ymin Ymax]) задаёт областьAxis не используетсяAxis используетсяОформление графиков
 Для графиков можно задать
 масштабную сетку: grid on
 заголовок:Пример оформления графикаФорматирование графиков
 Доступно из меню Edit:Графики функций, заданных параметрически
 Строятся при помощи оператора plot
 Вначале задаётсяГрафики параметрических функций часто возникают в физических приложениях
 Графики параметрических функцийФункции в полярной СК
 Строятся аналогично графикам функций в декартовой системе
Трёхмерная (3D-) графика
 Построение 
 поверхностей
 контурных диаграмм (линии равного уровня)
Построение 3D-поверхности
 Рассмотрим пример:
 построить поверхность f(x,y)=sin(r)/r, где r=sqrt(x2+y2)Функция meshgrid возвращает две матрицы – X и Y – которыеФункции для построения поверхностей
 О других графических функциях можно узнать вПРОГРАММИРОВАНИЕ В MATLABТипы программных файлов
 Написание программ – это альтернатива работе в команднойСкрипты
 Представляют собой последовательности команд Matlab
 как если бы мы перенеслиПолезны для автоматизации последовательности действий, которые выполняются многократно.
 Полезны для автоматизацииФункции
 Специальный вид m-файлов.
 В отличие от скриптов могут принимать аргументыСоздание функции преследует целью расширение языка.
 Создание функции преследует целью расширениеСтруктура функции
 Функция состоит из заголовка и тела
 function f =Заголовок функции
 function f = fact(n)Комментарии
 Используются для
 пояснения кода;
 временного исключения кода из текста.
 МогутМожно автоматически закомментировать блок текста. Для этого:
 Можно автоматически закомментировать блокСоздание функции
 m-файл можно создать в любом текстовом редакторе.
 Например, воИспользование функции
 Функция вызывается по своему имени (которое совпадает с именемВходные и выходные параметры
 При написании функций в Matlab можно проводитьПодфункции
 В файлах-функциях Matlab могут быть реально описаны несколько функций
 СинтаксическиВложенные функции
 Помимо последовательного вложения в один файл функция может бытьСоздание p-кода
 При вызове m-файла сравнительно много времени тратится на егоИнтерактивный ввод данных 
 Используется при написании скриптов
 Для ввода числовыхПример использования inputВывод данных в командное окно
 Для этого используют команду disp (отОсновные языковые конструкции
 Как и любой процедурный язык высокого уровня, MatlabСледование
 Реализуется перечислением каждого из операторов в отдельной строке
 Либо вВетвление
 Реализуется в двух вариантах:
 при помощи оператора if
 при помощиОператор if
 Простейшая форма:
 if <логическое выражение>
    <операторы>
Полный формат оператора if
 В полном варианте оператора могут использоваться словаЦиклы
 В Matlab имеется два вида циклов:
 цикл с параметром for
Цикл с параметромЗамечание по использованию цикла с параметром
 Обычно цикл for используется дляПример: замена отрицательных элементов вектора на нули (с циклом)Пример: замена отрицательных элементов вектора на нули (без цикла)Цикл с предусловием
 Синтаксис:
   while <логическое выражение>
  Операторы break и continue
 Аналогичны одноимённым операторам Паскаля
 Break производит досрочныйОператоры break и continue (пример)
 Написать скрипт, который вводит с клавиатурыОператоры break и continue (решение)АНАЛИТИЧЕСКИЕ ВЫЧИСЛЕНИЯ В MATLABВычисления в Matlab
 Пример: вычисление определённого интеграла 
 По формуле Ньютона:Средства Matlab для символьных вычислений
 Изначально Matlab имел средства только дляСоздание символьных переменных
 Для символьного анализа требуется создать символьные переменные иПредставление символьных переменныхСимвольные вычисления
 Преобразования математического анализа 
 дифференцирование, 
 пределы, 
 интегрирование,ДифференцированиеЧастные производныеПределыОдносторонние пределы
 Рассмотрим функцию f(x)=x/|x|Пределы (сводная таблица)ИнтегралыИнтегралы с параметрамиСуммированиеРазложение в ряд ТейлораПример: исследование функцииНайдём горизонтальную асимптотуНайдём вертикальные асимптотыКод для построения асимптотИзображение асимптотЭкстремумы функцииПостроение экстремумовОперации над полиномами
 Реализуются при помощи функций
 collect
 expand
 factor
 hornercollect – вычисляет коэффициенты при степенях независимой переменной
 collect – вычисляетexpand – представляет полином суммой степеней без приведения подобных
 expand –factor – разлагает полином на множители, если эти множители имеют рациональныеТакже factor производит каноническое разложение числа:
 Также factor производит каноническое разложениеhorner – представляет полином в схеме Горнера:
 horner – представляет полиномУпрощение выражений
 simplify
 реализует мощный алгоритм упрощения с использованием тригонометрических, степенных,SimplifySimpleSimplify против Simple
 Иногда simple даёт более удачное решение, чем simplify:Simple
 simple особенно эффективна при работе с тригонометрическими выражениямиПодстановка
 subs подставляет одно символьное выражение в другое
 Общий формат:
 subs(<куда>,Пример подстановкиПодстановка значения в функцию
 Подстановка вместо переменной её числового значения приводитТочная арифметика
 Точные вычисления реализуются функцией vpa (Variable-Precision Arithmetic)
 Формат вызова:
Решение уравнений и систем
 Выполняет команда solve
 До 4-го порядка включительноРешение систем
 Также выполняет команда solve
 Входные аргументы
 левые части уравнений
Решение дифференциальных уравнений
 Выполняет команда dsolve
 Если неизвестная функция обозначена символьнойMATLAB В ЗАДАЧАХ ТЕОРИИ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ (ТАУ)Представление и преобразование математических моделей (ММ) динамических систем (ДС).
 Представление иЗадание ДС во вход-выходной (ВВ) форме записи
 Задание ДС во вход-выходнойАнализ математических моделей динамических систем 
 Анализ математических моделей динамических системПреобразование ПФ: 
 Преобразование ПФ: 
 [NUMc,DENc]=tfchk(NUM,DEN) – проверяет на соответствиеПостроение частотных характеристик:
 Построение частотных характеристик:
 [Mod,Fi]=bode(A,B,C,D,ui,w),
 [Mod,Fi]=bode(NUM,DEN,w) – возвращает векторВычисление переходных процессов:
 Вычисление переходных процессов:
 Y – вектор переходного процесса,Анализ управляемости:
 Анализ управляемости:
 Q=ctrb(A,B) – вычисляет матрицу управляемости Q,
 [Ab,Bb,Cb,T]=ctrbf(A,B,C,TOL)Анализ наблюдаемости:
 Анализ наблюдаемости:
 R=obsv(A,C) – вычисляет матрицу наблюдаемости R,
 [Ab,Bb,Cb,T]=obsvf(A,B,C,TOL)Построение графиков:
 Построение графиков:
 plot(X,Y,S) – построение графика функции Y(X) c



Слайды и текст этой презентации
Слайд 1
Описание слайда:


Слайд 2
Описание слайда:
Содержание Введение Основы Matlab Вычисления в Matlab Функции для работы с массивами Графические возможности Matlab Программирование в Matlab Аналитические вычисления в Matlab

Слайд 3
Описание слайда:
Matlab (MATrix LABoratory) – это математические вычисления создание алгоритмов моделирование анализ, обработка и визуализация данных научная и инженерная графика разработка приложений с GUI огромное количество прикладных пакетов

Слайд 4
Описание слайда:
Пакеты, встроенные в Matlab Matlab Web Server Bioinformatics Toolbox Communications Toolbox Control System Toolbox Database Toolbox Distributed Computing Toolbox Financial Toolbox Fuzzy Logic Toolbox Genetic Algorithm and Direct Search Toolbox Image Processing Toolbox Neural Networks Toolbox Partial Differential Equation Toolbox Signal Processing Toolbox

Слайд 5
Описание слайда:
ОСНОВНЫЕ ЧАСТИ ПАКЕТА MATLAB: Язык Matlab Среда Matlab Управляемая графика Библиотека математических функций Программный интерфейс

Слайд 6
Описание слайда:
Язык Matlab Си- и Паскаль-подобный объектно-ориентированный Огромный набор встроенных функций Расширяемый пользователем

Слайд 7
Описание слайда:
Среда Matlab Интерактивная работа Управление переменными в рабочем пространстве Редактор Отладчик

Слайд 8
Описание слайда:
Управляемая графика Команды высокого уровня для работы с 2D- и 3D-графикой Анимация Команды низкого уровня для работы с графикой

Слайд 9
Описание слайда:
Библиотека математических функций Обширная коллекция вычислительных алгоритмов от элементарных функций (sin, cos и т. п.) до более сложных обращение матриц вычисление собственных значений минимизация функций дифференцирование интегрирование и пр.

Слайд 10
Описание слайда:
Программный интерфейс API для взаимодействия с программами на языках Си и Фортран

Слайд 11
Описание слайда:
Matlab – язык для работы с матричными объектами Основной объект Matlab – матрица Число – это матрица размера (1x1) Использование матриц существенно облегчает программирование делает запись формул краткой и наглядной В дальнейшем изложении предполагается знакомство с матричной алгеброй и основами программирования

Слайд 12
Описание слайда:
Числа Основной базовый тип для матриц Хранятся в формате long (double) стандарт плавающей точки IEEE Интервал приблизительно от 10E-308 до 10E+308 Комплексные числа строятся с применением суффиксов i или j (мнимая единица): 2.4e7+3.005i

Слайд 13
Описание слайда:
Другие типы Строки Массивы структур (записей) Массивы ячеек позволяют объединять в массиве элементы разной природы Объекты

Слайд 14
Описание слайда:
Переменные и выражения Переменные определяются пользователем при помощи оператора присваивания: x=5 В левой части – имя переменной заглавные и строчные буквы различаются В правой части оператора присваивания может стоять выражение: y=(2-x)/(x+3) Если выражение встречается вне оператора присваивания, то его значение вычисляется и помещается в системную переменную ans (от answer) Переменную ans можно использовать для задания новых выражений: z=ans*3 Если оператор присваивания завершить символом «;», то результат на экране не дублируется; в противном случае – выводится на экран:

Слайд 15
Описание слайда:

Слайд 16
Описание слайда:
Операторы При составлении выражений могут быть использованы операторы: + сложение - вычитание * умножение / деление ^ возведение в степень Приоритет операций обычный. Изменяется при помощи круглых скобок

Слайд 17
Описание слайда:
Операции отношения

Слайд 18
Описание слайда:
Логические операции

Слайд 19
Описание слайда:
Командная строка Простейший способ взаимодействия с Matlab – работа в командной строке (в режиме калькулятора) строка начинается с приглашения: символа >> Перемещение по стеку ранее введённых команд – клавиши ↑ и ↓ Для удобства размещения данных в КС можно разбивать вводимое выражение знаком «…» Очистить командное окно можно комадной clc

Слайд 20
Описание слайда:
Работа с КС упрощается благодаря окну Command History (меню Desktop) Работа с КС упрощается благодаря окну Command History (меню Desktop) Здесь хранится сессионная запись всех введённых команд Их можно скопировать, выполнить и т. п. (см. контекстное меню)

Слайд 21
Описание слайда:
Рабочее пространство (Workspace) Все переменные хранятся в РП порой это отнимает много места Просмотреть список существующих в РП переменных можно командой who:

Слайд 22
Описание слайда:
Более подробную информацию о переменных РП можно вывести командой whos: Более подробную информацию о переменных РП можно вывести командой whos:

Слайд 23
Описание слайда:
После закрытия сеанса работы MATLABа все переменные, вычисленные в течение сеанса, теряются. Однако их можно сохранить для последующего использования в иных сеансах, сохранив содержимое РП в файле на диске После закрытия сеанса работы MATLABа все переменные, вычисленные в течение сеанса, теряются. Однако их можно сохранить для последующего использования в иных сеансах, сохранив содержимое РП в файле на диске командой меню: File \ Save Workspace As… командой Matlab: save

Слайд 24
Описание слайда:
Команда save save – сохраняет все переменные в файл matlab.mat save filename – сохраняет все переменные в файл filename save filename x y z – сохраняет переменные x, y, z в файл filename (можно по маске: a*) save filename x y z -ASCII – сохраняет переменные x, y, z в файл filename в текстовом виде save('filename’, ‘a',‘b','-ASCII') – процедурная форма вызова команды параметры – в виде строк (в одинарных апострофах) Подробнее про эту и любую другую команду Matlab help <имя команды> или F1

Слайд 25
Описание слайда:
Команда load Служит для загрузки ранее сохранённых данных load – загружает все переменные из файла matlab.mat load filename – загружает все переменные из файла filename load filename x y z – загружает переменные x, y, z из файла filename load -ASCII filename x y z– загружает переменные x, y, z из текстового файла filename load('filename’, ‘a',‘b','-ASCII') – процедурная форма вызова команды

Слайд 26
Описание слайда:
Команда clear Служит для удаления переменных из РП clear – удаляет все переменные clear all – удаляет всё, включая классы, функции, скомпилированные файлы и пр. clear x y z – удаляет переменные x, y и z.

Слайд 27
Описание слайда:
Рабочий каталог Все файлы (данные, функции и пр.), созданные пользователем сохраняются в текущем каталоге (Current Directory) Изменить текущий каталог можно командой cd <путь> в строке ввода Current Directory на панели инструментов: в окне Current Directory

Слайд 28
Описание слайда:
Сохранение рабочей сессии diary – сохраняет лог текущей сессии (весь текстовый ввод и вывод) в файл По умолчанию – в файл diary в текущем каталоге diary filename или diary(‘filename’) – сохраняют сессию в указанном файле diary off / diary on – соответственно, приостанавливают и продолжают ведение лога diary – переключается между режимами on/off, если лог уже ведётся

Слайд 29
Описание слайда:
ВЫЧИСЛЕНИЯ В MATLAB

Слайд 30
Описание слайда:
Элементарные функции Тригонометрические sin cos tan cot asin acos atan acot

Слайд 31
Описание слайда:
Элементарные функции Экспоненциальные exp log – ln log10 log2 sqrt nthroot(x, n)

Слайд 32
Описание слайда:
Элементарные функции Округление и остатки fix – округление к нулю floor – округление к минус бесконечности ceil – округление к плюс бесконечности round – округление к ближайшему целому mod(x,y) – остаток от деления x на y без учёта знака (x - n*y, где n = floor(x/y)) rem(x,y) – остаток от деления x на y с учётом знака (x - n*y, где n = fix(x/y))

Слайд 33
Описание слайда:
Элементарные функции Комплексные числа abs(z) – модуль комплексного числа z angle(z) – фаза z (в радианах) real(z) – действительная часть z imag(z) – мнимая часть z conj(z) – комплексно сопряжённое число для z complex(a,b) – конструирует комплексное число a+ib isreal(z) – возвращает истину, если z – действительное

Слайд 34
Описание слайда:
Элементарные функции Просмотреть полный список элементарных функций можно командой help elfun

Слайд 35
Описание слайда:
Константы pi – число pi Inf – бесконечность -Inf – минус бесконечность NaN (Not a Number) – нечисловое значение

Слайд 36
Описание слайда:
Одномерные массивы Задание массива: a = [ -3 4 2]; a = [ -3, 4, 2]; Диапазоны: b = -3: 2 (b = -3 -2 -1 0 1 2) b = -3:2:5 (b = -3 -1 1 3 5) Доступ к элементу: a(3) (будет равно 2) Изменение элемента: a(3) = 1 Количество элементов в массиве: length(a) (будет равно 3)

Слайд 37
Описание слайда:
Двумерные массивы Задание массива: a = [ 1 2; 3 4; 5 6];

Слайд 38
Описание слайда:
Векторы-столбцы и векторы-строки Любая строка и столбец матрицы – это вектор Векторы, расположенные вдоль строк – векторы-строки (размер 1xn) Векторы, расположенные вдоль столбцов – векторы-столбцы (размер nx1) Задание вектора-столбца: К векторам любого типа применима функция length

Слайд 39
Описание слайда:
Размерность и размер матриц Размерность массива определяется функцией ndims(A)

Слайд 40
Описание слайда:
Конкатенация Рассмотрим две матрицы

Слайд 41
Описание слайда:
Диапазоны Можно использовать как для задания значений векторов, так и для задания диапазонов индексации Рассмотрим другие примеры

Слайд 42
Описание слайда:

Слайд 43
Описание слайда:
Для обращения к последнему элементу любой размерности можно использовать служебное слово end: Для обращения к последнему элементу любой размерности можно использовать служебное слово end:

Слайд 44
Описание слайда:
Удаление строк и столбцов

Слайд 45
Описание слайда:
Перестановка элементов

Слайд 46
Описание слайда:
ФУНКЦИИ ДЛЯ РАБОТЫ С МАССИВАМИ В MATLAB

Слайд 47
Описание слайда:
Создание матриц специального вида Для работы с матрицами удобно пользоваться следующими функциями ones – формирование массива из единиц zeros – формирование массива из нулей eye – формирование единичной матрицы rand – формирование матрицы из числе, равномерно распределённых на отрезке [0, 1] randn – формирование матрицы из чисел, нормально распределённых с математическим ожиданием 0. magic – формирование магического квадрата pascal – формирование квадрата Паскаля diag – диагональная матрица и др.

Слайд 48
Описание слайда:
МАТРИЦЫ СПЕЦИАЛЬНОГО ВИДА Рассмотрим основной синтаксис на примере функции создания единичной матрицы (eye) eye(m) – создание единичной матрицы размера [m, m] eye(m, n) – создание единичной матрицы размера [m, n] «лишние» строки или столбцы дополняются нулями

Слайд 49
Описание слайда:

Слайд 50
Описание слайда:

Слайд 51
Описание слайда:

Слайд 52
Описание слайда:

Слайд 53
Описание слайда:
Функция diag: работа с диагональными матрицами Функция diag: работа с диагональными матрицами у которых ненулевые элементы расположены на диагоналях Синтаксис: X = diag(v) – на главной диагонали матрицы X расположены элементы вектора v X = diag(v,k) – на k-ой диагонали матрицы X расположены элементы вектора v (по умолчанию k=0) v = diag(X,k) – извлечь из матрицы X k-ую диагональ и сохранить её в векторе v

Слайд 54
Описание слайда:

Слайд 55
Описание слайда:

Слайд 56
Описание слайда:
ВЫЧИСЛЕНИЯ С ЭЛЕМЕНТАМИ МАССИВОВ Простейшие операции над элементами массивов: sum: сумма элементов prod: произведение элементов cumsum: кумулятивная сумма элементов cumprod: кумулятивное произведение элементов max: нахождение максимального элемента min: нахождение минимального элемента sort: сортировка элементов

Слайд 57
Описание слайда:
Рассмотрим работу некоторых из этих функций на примере sum Рассмотрим работу некоторых из этих функций на примере sum Для векторов эта функция возвращает сумму элементов Для массивов – сумму элементов по каждому из столбцов результат – вектор-строка Остальные функции работают по этому же принципу

Слайд 58
Описание слайда:

Слайд 59
Описание слайда:
Кумулятивная сумма вычисляется так же, только происходит накопление вычисленных значений в элементах массива: Кумулятивная сумма вычисляется так же, только происходит накопление вычисленных значений в элементах массива:

Слайд 60
Описание слайда:
Максимальный и минимальный элементы: Максимальный и минимальный элементы:

Слайд 61
Описание слайда:
Вызов функций max/min с двумя выходными параметрами позволяет определить и индекс найденного элемента: Вызов функций max/min с двумя выходными параметрами позволяет определить и индекс найденного элемента:

Слайд 62
Описание слайда:
Функция sort производит сортировку элементов матрицы по столбцам: Функция sort производит сортировку элементов матрицы по столбцам:

Слайд 63
Описание слайда:
ЛОГИЧЕСКИЕ ФУНКЦИИ All(v) – возвращает истину, если все элементы вектора v отличны от нуля. Для матриц выдаёт вектор-строку с аналогичным результатом для каждого столбца

Слайд 64
Описание слайда:
Any(v) – возвращает истину, если хотя бы один элемент вектора v отличен от нуля. Для матриц выдаёт вектор-строку с аналогичным результатом для каждого столбца Any(v) – возвращает истину, если хотя бы один элемент вектора v отличен от нуля. Для матриц выдаёт вектор-строку с аналогичным результатом для каждого столбца

Слайд 65
Описание слайда:

Слайд 66
Описание слайда:
Поиск в массиве find: определяет индексы элементов, удовлетворяющих заданному условию

Слайд 67
Описание слайда:
Пример применения команды find к матрицам: Пример применения команды find к матрицам:

Слайд 68
Описание слайда:
Математические матричные операции det – вычисление определителя квадратной матрицы

Слайд 69
Описание слайда:
МАТРИЧНЫЕ И ПОЭЛЕМЕНТНЫЕ ОПЕРАЦИИ При работе с матрицами можно использовать два вида операторов: матричные: производят действия по правилам матричной алгебры поэлементные: производят действия над соответствующими элементами матриц размеры матриц должны быть одинаковыми от матричных операций отличаются точкой перед знаком операции

Слайд 70
Описание слайда:
‘ транспонирование ‘ транспонирование + матричное (и поэлементное) сложение - матричное (и поэлементное) вычитание * матричное умножение / матричное деление ^ матричное возведение в степень

Слайд 71
Описание слайда:

Слайд 72
Описание слайда:
Такие операции часто используются, если нужно применить какую либо функцию ко всем элементам матрицы. Такие операции часто используются, если нужно применить какую либо функцию ко всем элементам матрицы.

Слайд 73
Описание слайда:
Некоторые операции по умолчанию считаются поэлементными: Некоторые операции по умолчанию считаются поэлементными:

Слайд 74
Описание слайда:
Операции «деления» слева и справа Применяются для решения систем линейных уравнений (СЛУ) Деление слева (\) для квадратных матриц реализует метод Гаусса для прямоугольных матриц– метод наименьших квадратов

Слайд 75
Описание слайда:
ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ MATLAB

Слайд 76
Описание слайда:
Графика в Matlab Высокоуровневая не требует от пользователя детальных знаний о работе графической подсистемы Объектная каждый объект на рисунке имеет свойства, которые можно менять Управляемая (handled) доступ к графическим объектам возможен как через инспектор объектов, так и при помощи встроенных функций (дескрипторная графика)

Слайд 77
Описание слайда:
Двумерные (2D-) графики Простейший способ построения 2D-графика: задать область построения (диапазон); вычислить значение функции на области построения построить график при помощи одной из встроенных функций Matlab

Слайд 78
Описание слайда:

Слайд 79
Описание слайда:
Построение второго графика Если сразу же построить другой график, то старый график будет удалён из графического окна

Слайд 80
Описание слайда:
Построение двух графиков в одной системе координат Два графика в одной СК можно построить следующими способами: «закрепить» графическое окно при помощи команды hold on применить одну команду plot

Слайд 81
Описание слайда:
Пример закрепления графиков

Слайд 82
Описание слайда:
Пример построения двух графиков одной командой

Слайд 83
Описание слайда:
Дополнительные параметры команды plot В команде plot можно задать для каждого графика цвет линии тип маркера тип линии

Слайд 84
Описание слайда:
Пример команды plot

Слайд 85
Описание слайда:
Построение нескольких графиков в одном окне в разных СК Поверхность графического окна можно разделить на зоны, в каждой из которых выводить свой график Для этого служит команда subplot В качестве параметров ей передаётся трёхзначное целое число вида mnk m и n определяют количество графических «подокон» по горизонтали и вертикали k задаёт номер графического «подокна» порядок нумерации – по строкам

Слайд 86
Описание слайда:
Первый subplot

Слайд 87
Описание слайда:
Второй subplot

Слайд 88
Описание слайда:

Слайд 89
Описание слайда:
Построение графиков в разных графических окнах Создать новое графическое окно можно командой figure Команда figure создаёт графическое окно и возвращает указатель на него: h = figure Активизировать ранее созданное окно можно командой figure(h)

Слайд 90
Описание слайда:
figure : пример использования 1

Слайд 91
Описание слайда:

Слайд 92
Описание слайда:
Axis: управление масштабом Команда axis([Xmin Xmax Ymin Ymax]) задаёт область построения графиков по осям X и Y Используется, если результат автомасштабирования неудовлетворителен

Слайд 93
Описание слайда:
Axis не используется

Слайд 94
Описание слайда:
Axis используется

Слайд 95
Описание слайда:
Оформление графиков Для графиков можно задать масштабную сетку: grid on заголовок: title(’заголовок’) подписи осей: xlabel(’текст’) и ylabel (’текст’) В заголовках и подписях можно использовать нотацию системы TeX

Слайд 96
Описание слайда:
Пример оформления графика

Слайд 97
Описание слайда:
Форматирование графиков Доступно из меню Edit:

Слайд 98
Описание слайда:
Графики функций, заданных параметрически Строятся при помощи оператора plot Вначале задаётся диапазон построения t Затем вычисляются x(t) и y(t) И строится график

Слайд 99
Описание слайда:

Слайд 100
Описание слайда:
Графики параметрических функций часто возникают в физических приложениях Графики параметрических функций часто возникают в физических приложениях Независимая переменная t в этом случае имеет смысл времени, x и y – координаты Для построения динамического графика можно использовать функцию comet(x,y)

Слайд 101
Описание слайда:
Функции в полярной СК Строятся аналогично графикам функций в декартовой системе Для построения используется команда polar

Слайд 102
Описание слайда:

Слайд 103
Описание слайда:
Трёхмерная (3D-) графика Построение поверхностей контурных диаграмм (линии равного уровня) 3D-линий векторных полей скалярных полей и др.

Слайд 104
Описание слайда:

Слайд 105
Описание слайда:
Построение 3D-поверхности Рассмотрим пример: построить поверхность f(x,y)=sin(r)/r, где r=sqrt(x2+y2)

Слайд 106
Описание слайда:
Функция meshgrid возвращает две матрицы – X и Y – которые определяют область построения функции Функция meshgrid возвращает две матрицы – X и Y – которые определяют область построения функции Если диапазоны по X и Y разные, то функции передаются два диапазона Собственно поверхность выводится функцией surfl

Слайд 107
Описание слайда:
Функции для построения поверхностей О других графических функциях можно узнать в системе помощи Matlab

Слайд 108
Описание слайда:
ПРОГРАММИРОВАНИЕ В MATLAB

Слайд 109
Описание слайда:
Типы программных файлов Написание программ – это альтернатива работе в командной строке Программный код Matlab размещают в файлах с расширением «m» (m-файлах) m-файлы бывают двух видов: скрипты (scripts) функции (functions)

Слайд 110
Описание слайда:
Скрипты Представляют собой последовательности команд Matlab как если бы мы перенесли их из командного окна в отдельный файл Вызываются по имени через командную строку. Выполняются в режиме построчного анализа, обработки и выполнения исходных команд

Слайд 111
Описание слайда:
Полезны для автоматизации последовательности действий, которые выполняются многократно. Полезны для автоматизации последовательности действий, которые выполняются многократно. Не могут принимать параметры и возвращать аргументы. Хранят значения своих переменных в рабочем пространстве где переменные доступны для других скриптов и из командной строки

Слайд 112
Описание слайда:
Функции Специальный вид m-файлов. В отличие от скриптов могут принимать аргументы и возвращать значения. Использование функций позволяет структурировать программу избежать повторения кода

Слайд 113
Описание слайда:
Создание функции преследует целью расширение языка. Создание функции преследует целью расширение языка. Переменные, определённые внутри функции являются локальными то есть видны только внутри самой функции. Функция имеет собственное имя. Кроме того, с ней связано имя m-файла, в котором функция записана будем соблюдать правило: имя функции и имя m-файла должны быть одинаковы

Слайд 114
Описание слайда:
Структура функции Функция состоит из заголовка и тела function f = fact(n) Заголовок % Вычисляет факториал. Линия H1 % FACT(N) возвращает N!, Help f = prod(1:n); Тело функции H1 и Help выводятся по команде help <имя функции> Фактически, функция отличается от скрипта наличием заголовка и способом вызова

Слайд 115
Описание слайда:
Заголовок функции function f = fact(n)

Слайд 116
Описание слайда:
Комментарии Используются для пояснения кода; временного исключения кода из текста. Могут быть строчными и блочными Строчные начинаются с символа «%» с этого места и до конца строки всё игнорируется компилятором % как в этом примере Блочные начинаются с символа «%{» и заканчиваются символом «%}»: %{ эти символы должны обязательно стоять в отдельных строках! %}

Слайд 117
Описание слайда:
Можно автоматически закомментировать блок текста. Для этого: Можно автоматически закомментировать блок текста. Для этого: выделить блок щёлкнуть правой кнопкой выбрать Comment (или Ctrl+R) Снять комментарий: выделить закомментированный блок щёлкнуть правой кнопкой выбрать Uncomment (или Ctrl+T)

Слайд 118
Описание слайда:
Создание функции m-файл можно создать в любом текстовом редакторе. Например, во встроенном редакторе при помощи меню или командой edit <имя файла>

Слайд 119
Описание слайда:
Использование функции Функция вызывается по своему имени (которое совпадает с именем её m-файла)

Слайд 120
Описание слайда:
Входные и выходные параметры При написании функций в Matlab можно проводить проверку количества входных и выходных параметров. Для этого в описании функции используют служебные слова: nargin: количество входных параметров nargout: количество выходных параметров

Слайд 121
Описание слайда:

Слайд 122
Описание слайда:
Подфункции В файлах-функциях Matlab могут быть реально описаны несколько функций Синтаксически это оформляется как две (или более) функций, записанных в одном файле При вызове такого m-файла происходит запуск самой первой функции её имя должно совпадать с именем файла Описание следующих функций локально обычно они используются как вспомогательные для первой функции

Слайд 123
Описание слайда:

Слайд 124
Описание слайда:
Вложенные функции Помимо последовательного вложения в один файл функция может быть описана непосредственно в теле другой функции Такая функция называется вложенной Вложенная функция, в свою очередь, может содержать другие вложенные функции

Слайд 125
Описание слайда:

Слайд 126
Описание слайда:
Создание p-кода При вызове m-файла сравнительно много времени тратится на его компиляцию Чтобы сократить время выполнения можно предварительно перевести m-файл в p-код («пи-код») команда pcode <имя m-файла> Откомпилированный в псевдокод файл получает расширение «p» Такой файл будет выполняться быстрее, чем обычный m-файл

Слайд 127
Описание слайда:
Интерактивный ввод данных Используется при написании скриптов Для ввода числовых данных применяют функцию input по формату x = input(’строка приглашения’) Введённое пользователем значение сохранится в переменной x Для ввода строковых данных функция input вызывается с дополнительным параметром: c = input(’строка приглашения’,’s’) Кроме того, имеется Си-подобная функция sscanf

Слайд 128
Описание слайда:
Пример использования input

Слайд 129
Описание слайда:
Вывод данных в командное окно Для этого используют команду disp (от display) по формату disp(<выводимая строка>) Если выводимое значение – число, то вначале его преобразуют к строковому типу при помощи функций int2str или num2str Конкатенацию строк производят как для одномерных векторов-строк

Слайд 130
Описание слайда:
Основные языковые конструкции Как и любой процедурный язык высокого уровня, Matlab позволяет использовать при написании программ следование ветвление циклы пользовательские функции

Слайд 131
Описание слайда:
Следование Реализуется перечислением каждого из операторов в отдельной строке Либо в одной строке через запятую (или точку с запятой)

Слайд 132
Описание слайда:
Ветвление Реализуется в двух вариантах: при помощи оператора if при помощи оператора switch

Слайд 133
Описание слайда:
Оператор if Простейшая форма: if <логическое выражение> <операторы> end

Слайд 134
Описание слайда:
Полный формат оператора if В полном варианте оператора могут использоваться слова else и elseif Слово elseif может использоваться в одном операторе многократно с указанием условия Слово else – только один раз в конце оператора и без условия

Слайд 135
Описание слайда:
Циклы В Matlab имеется два вида циклов: цикл с параметром for цикл c предусловием while Также имеются оператор досрочного выхода из цикла break оператор перехода к следующей итерации continue

Слайд 136
Описание слайда:
Цикл с параметром

Слайд 137
Описание слайда:
Замечание по использованию цикла с параметром Обычно цикл for используется для обработки массивов Важно помнить, что если есть возможность обойтись без этого цикла (применить матричные или векторные операции), то лучше избавиться от явного цикла В этом случае программа будет работать на порядок быстрее

Слайд 138
Описание слайда:
Пример: замена отрицательных элементов вектора на нули (с циклом)

Слайд 139
Описание слайда:
Пример: замена отрицательных элементов вектора на нули (без цикла)

Слайд 140
Описание слайда:
Цикл с предусловием Синтаксис: while <логическое выражение> <операторы> end Операторы выполняются, пока логическое выражение есть истина (true)

Слайд 141
Описание слайда:

Слайд 142
Описание слайда:
Операторы break и continue Аналогичны одноимённым операторам Паскаля Break производит досрочный выход из цикла for или while Continue прекращает выполнение текущей итерации и переходит к следующей

Слайд 143
Описание слайда:
Операторы break и continue (пример) Написать скрипт, который вводит с клавиатуры произвольное количество чисел. Если число положительное, то оно прибавляется к сумме, если отрицательное, то пропускается. Ноль – признак окончания работы

Слайд 144
Описание слайда:
Операторы break и continue (решение)

Слайд 145
Описание слайда:
АНАЛИТИЧЕСКИЕ ВЫЧИСЛЕНИЯ В MATLAB

Слайд 146
Описание слайда:
Вычисления в Matlab Пример: вычисление определённого интеграла По формуле Ньютона: F(x)|ab =F(b) – F(a), где F(x) – первообразная получаем точный результат но первообразную не всегда можно найти Численно: методом прямоугольников, трапеций, Симпсона и пр. можно пользоваться даже тогда, когда интеграл «не берётся» но при вычислении возникают погрешности

Слайд 147
Описание слайда:
Средства Matlab для символьных вычислений Изначально Matlab имел средства только для численного анализа Сегодня в Matlab встроены средства аналитических (символьных) вычислений Symbolic Math Toolbox Является вычислительным ядром системы Maple V Установка Maple не требуется

Слайд 148
Описание слайда:
Создание символьных переменных Для символьного анализа требуется создать символьные переменные и функции Символьные переменные создаются по одной: x=sym(’x’) так же можно создать целое символьное выражение несколько сразу: syms x y z Символьные функции определяются через символьные переменные: f=x^2+y Для построения символьных функций можно воспользоваться командой ezplot Представить в стандартной форме – командой pretty

Слайд 149
Описание слайда:

Слайд 150
Описание слайда:
Представление символьных переменных

Слайд 151
Описание слайда:
Символьные вычисления Преобразования математического анализа дифференцирование, пределы, интегрирование, разложение в ряд Тейлора Упрощение и подстановки Точная арифметика Линейная алгебра Решение уравнений и их систем обычных и дифференциальных

Слайд 152
Описание слайда:
Дифференцирование

Слайд 153
Описание слайда:
Частные производные

Слайд 154
Описание слайда:

Слайд 155
Описание слайда:
Пределы

Слайд 156
Описание слайда:
Односторонние пределы Рассмотрим функцию f(x)=x/|x|

Слайд 157
Описание слайда:

Слайд 158
Описание слайда:
Пределы (сводная таблица)

Слайд 159
Описание слайда:
Интегралы

Слайд 160
Описание слайда:
Интегралы с параметрами

Слайд 161
Описание слайда:

Слайд 162
Описание слайда:
Суммирование

Слайд 163
Описание слайда:
Разложение в ряд Тейлора

Слайд 164
Описание слайда:

Слайд 165
Описание слайда:
Пример: исследование функции

Слайд 166
Описание слайда:
Найдём горизонтальную асимптоту

Слайд 167
Описание слайда:
Найдём вертикальные асимптоты

Слайд 168
Описание слайда:
Код для построения асимптот

Слайд 169
Описание слайда:
Изображение асимптот

Слайд 170
Описание слайда:
Экстремумы функции

Слайд 171
Описание слайда:
Построение экстремумов

Слайд 172
Описание слайда:
Операции над полиномами Реализуются при помощи функций collect expand factor horner

Слайд 173
Описание слайда:
collect – вычисляет коэффициенты при степенях независимой переменной collect – вычисляет коэффициенты при степенях независимой переменной по умолчанию – x Можно явно задать имя независимой переменной в виде: collect (f, VarName)

Слайд 174
Описание слайда:
expand – представляет полином суммой степеней без приведения подобных expand – представляет полином суммой степеней без приведения подобных

Слайд 175
Описание слайда:
factor – разлагает полином на множители, если эти множители имеют рациональные коэффициенты: factor – разлагает полином на множители, если эти множители имеют рациональные коэффициенты:

Слайд 176
Описание слайда:
Также factor производит каноническое разложение числа: Также factor производит каноническое разложение числа:

Слайд 177
Описание слайда:
horner – представляет полином в схеме Горнера: horner – представляет полином в схеме Горнера:

Слайд 178
Описание слайда:
Упрощение выражений simplify реализует мощный алгоритм упрощения с использованием тригонометрических, степенных, логарифмических, экспоненциальных функций, а также спецфункций (Бесселя, гипергеометрической, интеграла ошибок и пр.) simple пытается получить выражение, которое представляется меньшим числом символов, чем исходное, последовательно применяя все функции упрощения Symbolic Math Toolbox

Слайд 179
Описание слайда:
Simplify

Слайд 180
Описание слайда:
Simple

Слайд 181
Описание слайда:
Simplify против Simple Иногда simple даёт более удачное решение, чем simplify:

Слайд 182
Описание слайда:
Simple simple особенно эффективна при работе с тригонометрическими выражениями

Слайд 183
Описание слайда:
Подстановка subs подставляет одно символьное выражение в другое Общий формат: subs(<куда>, <вместо чего>, <что>)

Слайд 184
Описание слайда:
Пример подстановки

Слайд 185
Описание слайда:
Подстановка значения в функцию Подстановка вместо переменной её числового значения приводит к вычислению символьной функции от значения аргумента

Слайд 186
Описание слайда:
Точная арифметика Точные вычисления реализуются функцией vpa (Variable-Precision Arithmetic) Формат вызова: vpa(<выражение>, <значащих цифр>)

Слайд 187
Описание слайда:

Слайд 188
Описание слайда:
Решение уравнений и систем Выполняет команда solve До 4-го порядка включительно решаются точно Ответ выводится в степенях рациональных чисел Уравнения высших порядков и трансцендентные, как правило, точно не решаются В этом случае выводится приближённый результат С целью сокращения записи при выводе могут использоваться подстановки

Слайд 189
Описание слайда:

Слайд 190
Описание слайда:
Решение систем Также выполняет команда solve Входные аргументы левые части уравнений переменные, по которым нужно разрешить систему например: s = solve(f1, f2, x1, x2) Выходной аргумент структура (запись) s с полями (в данном случае) x1 и x2, хранящими символьное представление решения

Слайд 191
Описание слайда:

Слайд 192
Описание слайда:
Решение дифференциальных уравнений Выполняет команда dsolve Если неизвестная функция обозначена символьной переменной y, то ее производные следует обозначать как d[n]y, где в скобках указан порядок производной.

Слайд 193
Описание слайда:
MATLAB В ЗАДАЧАХ ТЕОРИИ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ (ТАУ)

Слайд 194
Описание слайда:
Представление и преобразование математических моделей (ММ) динамических систем (ДС). Представление и преобразование математических моделей (ММ) динамических систем (ДС). Задание ДС в матрично-векторной (МВ) форме записи В современной теории управления для описания ММ ДС используется запись, представляющая собой систему уравнений в переменных состояния [1] (1)

Слайд 195
Описание слайда:
Задание ДС во вход-выходной (ВВ) форме записи Задание ДС во вход-выходной (ВВ) форме записи В классической теории управления для описания ММ ДС используется понятие передаточных функций (ПФ), которые представляют собой дробно-рациональную функцию [2] (2) Для ввода ПФ коэффициенты числителя и знаменателя необходимо задавать в виде вектора (в порядке убывания степени). NUM=[bm bm-1 ... b1 b0] DEN=[am am-1 ... a1 a0]

Слайд 196
Описание слайда:
Анализ математических моделей динамических систем Анализ математических моделей динамических систем

Слайд 197
Описание слайда:
Преобразование ПФ: Преобразование ПФ: [NUMc,DENc]=tfchk(NUM,DEN) – проверяет на соответствие порядки числителя и знаменателя, возвращает эквивалентную ПФ с равными порядками (отсутствующие коэффициенты заполняются нулями) или выдает сообщение об ошибке; [Z,P,K]=tf2zp(NUM,DEM) – находит нули, полюсы и коэффициент передачи (приведенный); [NUM,DEN]=zp2tf(Z,P,K) – обратное преобразование; [A,B,C,D]=tf2ss(NUM,DEN) – преобразуем ПФ с одним входом в модель ПС в канонической форме управления. Для перехода также все матрицы необходимо развернуть на 1800: A=rot90(A,2), B=rot90(B,2) и т.д.; abcdchk(A,B,C,D) – проверяет согласованность размерности матриц и в случае ошибки возвращает сообщение о ней; [Wn,ksi]=damp(A) – вычисляет сопрягающие частоты и коэффициенты затухания ДС (А может быть либо системной матрицей, либо векторами NUM или DEN, либо векторами корней Z или P);

Слайд 198
Описание слайда:
Построение частотных характеристик: Построение частотных характеристик: [Mod,Fi]=bode(A,B,C,D,ui,w), [Mod,Fi]=bode(NUM,DEN,w) – возвращает вектор амплитуды и фазы (ui номер входа в МВ ММ). Для построения ЛЧХ вектор w должен в логарифмическом масштабе содержать значения частот в рад/с. Построение фазовой частотной характеристики для неминимально-фазовых звеньев выше 1-го порядка с использованием данной функции выполняется неправильно. Для коррекции фазовой характеристики имеются следующие характеристики: Fik=fixphase(Fi) или Fik=add360(Fi) – устраняет разрыв фазы от –1800 к 1800. Фаза Fi задается в градусах; Fik=addtwopi(Fi) – то же для фазы, заданной в радианах.

Слайд 199
Описание слайда:
Вычисление переходных процессов: Вычисление переходных процессов: Y – вектор переходного процесса, t – вектор изменения времени, X – вектор состояния (необязательный параметр, может быть опущен) [Y,X]=impulse(A,B,C,D,ui,t), Y=impulse(NUM,DEN,t) – весовая функция, [Y,X]=step(A,B,C,D,ui,t), Y=step(NUM,DEN,t) – реакция на единичное ступенчатое воздействие, [Y,X]=lsim(A,B,C,D,U,t,X0), Y=lsim(NUM,DEN,U,t) – реакция на произвольно заданное вектором U внешним воздействием (X0 – начальное условие).

Слайд 200
Описание слайда:
Анализ управляемости: Анализ управляемости: Q=ctrb(A,B) – вычисляет матрицу управляемости Q, [Ab,Bb,Cb,T]=ctrbf(A,B,C,TOL) – выделение полностью управляемого подпространства, для частично управляемой системы. (TOL – допуск, необязательный параметр, T – матрица преобразования, Ab=TAT-1, Bb=TB, Cb=CT-1). Индекс nc – неуправляемая часть, с – управляемая. Выделение неуправляемой части: nc=length(Ab)-rang(Q); Anc=Ab(1:nc,1:nc). eig(Anc) - cобственные значения неуправляемой части системы.

Слайд 201
Описание слайда:
Анализ наблюдаемости: Анализ наблюдаемости: R=obsv(A,C) – вычисляет матрицу наблюдаемости R, [Ab,Bb,Cb,T]=obsvf(A,B,C,TOL) – выделение полностью наблюдаемого подпространства, для частично наблюдаемой системы. (TOL – допуск, необязательный параметр, T – матрица преобразования, Ab=TAT-1, Bb=TB, Cb=CT-1). Индекс no – ненаблюдаемая часть, о – наблюдаемая. Выделение ненаблюдаемой части: nо=length(Ab)-rang(R); Ano=Ab(1:no,1:no). eig(Ano) - cобственные значения ненаблюдаемой части системы.

Слайд 202
Описание слайда:
Построение графиков: Построение графиков: plot(X,Y,S) – построение графика функции Y(X) c заданием типа линии с помощью S (необязательный параметр); plot3(X,Y,Z,S) – построение трехмерного графика функции Z(X,Y) c заданием типа линии с помощью S (необязательный параметр); loglog(X,Y,S) – аналогична предыдущей команде, но для задания логарифмического масштаба по X и Y; semilogx(X,Y,S) или semilogy(X,Y,S) – строит график в логарифмическом масштабе по оси X или Y соответственно; subplot(m,n,k) – разбивает окно на m окон по горизонтали и n окон по вертикали, а k – номер окна, в котором будет выводиться текущий график;


Скачать презентацию на тему Matlab. Математические вычисления можно ниже:

Похожие презентации