. КИСЛИЦЫН А.П MATLAB (МАТРИЧНАЯ ЛАБОРАТОРИЯ) Уважаемые пользователи этой программы, как показала практика очень неудобно пользоваться, издаваемой бумажной и электронной версией программы, к тому же там не дается ни каких сведений по использованию тех или иных математических функций. Автор и решил избавиться от этого недостатка. Работа себя оправдала. С уважением, Анатолий Кислицын. АНАЛИТИЧЕСКИЕ СПРАВКИ, ПРОГРАММЫ, ПРИМЕРЫ РЕШЕНИЙ. ................................................. 5 МАТЕМАТИЧЕСКИЙ АНАЛИЗ .................................................................................................................... 5 1. LIMIT Предел функции одной переменной ......................................................................................... 5 2.Дифференцирование функции одной переменной ..................................................................................... 5 3.Интегрирование функции одной переменной.............................................................................................. 5 4 . SYMSUM Суммирование рядов ................................................................................................................. 5 5.TAYLOR Разложение функции в ряды Тейлора и Маклорена . .............................................................. 5 6. СПРАВКА Решение системы линейных уравнений .................................................................................. 6 7 JFCOBIAN Вычисление якобиана функции. .............................................................................................. 7 8. Нахождение зависимых функций от независимых переменных (суперпозиция). ................................... 7 9 .SOLVE Решение уравнений и систем уравнений ................................................................................... 8 10 . DSOLVE Решение ОДУ и их систем . .................................................................................................... 11 11. Paбота с символьными массивами и матрицами. ................................................................................. 13 ЛИНЕЙНАЯ АЛГЕБРА ................................................................................................................................. 14 12 DET Определитель матрицы. .................................................................................................................. 14 13 . POLY Характеристический полином матрицы...................................................................................... 14 14 .DIAG Формирование или извлечение диагоналей матрицы. ............................................................... 15 15 .TRIL Формирование нижней треугольной матрицы (массива) ............................................................ 16 16 . TRIU Формирование верхней треугольной матрицы (массива).......................................................... 17 17. СПРАВКА. ( Ранги, миноры матрицы ) ................................................................................................... 17 18.RANK . Ранг целочисленной матрицы A . ................................................................................................ 18 19 .COLSPACE. Базис пространства столбцов целочисленной матрицы ................................................ 18 20.NYLL . Нуль – пространство для целочисленной матрицы .................................................................... 18 21.INV. Обращение символьной или целочисленной матрицы. ................................................................ 19 22. SVD. СПРАВКА. Сингулярное разложение символьной или целочисленной матрицы. ..................... 19 23. Справка: собственные векторы и собственные значения линейного преобразования. ..................... 20 25 . СПРАВКА: понятие о канонической форме Жордана. .......................................................................... 22 26 JORDAN. Каноническая форма Жордана символьной матрицы. .......................................................... 22 27. EXPM. Матричная экспонента . .............................................................................................................. 23 СПЕЦИАЛЬНЫЕ ФУНКЦИИ. ..................................................................................................................... 23 28. Функции интегрального косинуса и синуса. ............................................................................................ 23 29. LAMBERTW W – функция Ламберта .................................................................................................... 24 30. ZETA Дзета – функция Римана .............................................................................................................. 25 ИНТЕГРАЛЬНЫЕ ПРЕОБРАЗОВАНИЯ. ..................................................................................................... 25 31. FOURIER Преобразование Фурье. ......................................................................................................... 25 32 . IFOURIER. Обратное преобразование Фурье. .................................................................................... 27 33. LAPLACE . Преобразование Лапласа . ................................................................................................... 28 34. ILAPLACE. Обратное преобразование Лапласа . .................................................................................. 29 ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ЛАПЛАСА......................................................................................... 30 35. ZTRANS . Z – преобразование ............................................................................................................... 30 36.IZTRANS . Обратное Z – преобразование. .............................................................................................. 31 ГРАФИЧЕСКИЕ И ИНТЕРАКТИВНЫЕ СРЕДСТВА. ................................................................................. 33 37.EZPLOT. Построение графика символьной функции. ........................................................................... 33 38. FUNTOOL. Интерактивный графический калькулятор. ......................................................................... 33 39. RSUMS . Вычисление сумм Римана . ..................................................................................................... 34 ПАКЕТ ПРОГРАММ. ..................................................................................................................................... 34 40 БАЗОВЫЕ ОПЕРАЦИИ SYM . Формирует символьную переменную или объект. ............................ 34 41. SYMS Формирует группу символьных объектов . ................................................................................. 35 42. FINDSYM Составляет список символьных переменных ...................................................................... 35 43. REAL, IMAG действительная и мнимая часть символьной переменной ............................................ 35 44.СONJ Комплексное сопряжение элементов символьного массива ...................................................... 35 45. PRETTY. Вывод символьного выражения на экран. ............................................................................. 36 46. LATEX Преобразование символьного выражения в коды редактора LaTeX....................................... 36 47.CCODE Запись символьного выражения на языке С ............................................................................ 36 48. FORTRAN Запись символьного выражения на языке Fortran .................................................... 36 49. DOUBLE. Преобразовать символьный объект в числовой .................................................................. 37 50.CHAR Преобразовать символьный объект в строковый ...................................................................... 37 51. Преобразовать вектор коэффициентов в символьный полином .......................................................... 37 52. SYM2POLY Преобразует символьный полином в вектор коэффициентов......................................... 37 УПРОЩЕНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ. ............................................................................. 37 53.SIMPLIFY Упростить символьное выражение ........................................................................................ 37 54. EXPAND Раскрыть символьное выражение ......................................................................................... 38 55.FACTOR Разложить символьное выражение на простые множители. ................................................ 38 56. COLLECT Приведение однородных членов .......................................................................................... 38 57. SIMPLE Упростить символьное выражение .......................................................................................... 38 58. NUMDEN Приведение символьных полиномов к рациональной форме. .......................................... 38 59. HORNER Представление полинома в виде схемы Горнера ............................................................... 39 60. SUBEXPR . Записать символьное выражение с использованием подстановок ................................. 39 61. SUBS Подстановка значений символьных переменных ...................................................................... 39 ЯЗЫК MATLAB .............................................................................................................................................. 41 Назначение ...................................................................................................................................................... 41 Операторы, специальные символы, переменные и константы .................................................................... 42 ФУНКЦИИ ...................................................................................................................................................... 43 Массивы, матрицы и операции над ними ...................................................................................................... 43 Массивы и матрицы специального вида ..................................................................................................... 43 Характеристики массивов ........................................................................................................................... 43 Операции над матрицами ............................................................................................................................. 44 Специальные матрицы ................................................................................................................................. 44 Математические функции......................................................................................................................... 44 Тригонометрические функции ..................................................................................................................... 44 Трансцендентные функции........................................................................................................................... 44 Функции обработки комплексных чисел ...................................................................................................... 45 Округление и модульная арифметика ........................................................................................................ 45 Специальные математические функции .................................................................................................... 45 Теоретико-числовые функции ...................................................................................................................... 45 Функции преобразования систем координат ............................................................................................. 45 Линейная алгебра ......................................................................................................................................... 45 Матричный анализ ......................................................................................................................................... 46 Решение систем линейных уравнений ........................................................................................................ 46 Собственные значения и сингулярные числа............................................................................................. 46 Вычисление функций от матриц ................................................................................................................. 46 Утилиты ......................................................................................................................................................... 46 Полиномы и операции над ними.................................................................................................................... 46 Анализ данных и преобразование Фурье ................................................................................................ 46 Базовые операции .......................................................................................................................................... 46 Численное интегрирование .......................................................................................................................... 47 Вычисление минимумов и нулей функций ................................................................................................... 47 Аппроксимация и интерполяция данных ..................................................................................................... 47 Геометрический анализ данных ................................................................................................................... 47 Вычисление конечных разностей ................................................................................................................ 47 Корреляционный анализ ................................................................................................................................ 47 Преобразования Фурье ................................................................................................................................. 47 Свертка и фильтрация ................................................................................................................................ 47 Звуковое воспроизведение ............................................................................................................................ 47 Решение обыкновенных дифференциальных уравнений (ОДУ) ............................................................... 48 Решатели ОДУ ............................................................................................................................................... 48 Дескрипторная поддержка опций решателя .............................................................................................. 48 Формирование выходов решателя .............................................................................................................. 48 Работа с разреженными матрицами ...................................................................................................... 48 Элементарные разреженные матрицы ...................................................................................................... 48 Характеристики разреженных матриц ...................................................................................................... 48 Преобразование разреженных матриц ....................................................................................................... 48 Работа с ненулевыми элементами ............................................................................................................. 48 Операции над графом разреженной матрицы ........................................................................................... 48 Алгоритмы упорядочения ............................................................................................................................. 48 Решение систем уравнений с разреженными матрицами ....................................................................... 48 Визуализация разреженных матриц ............................................................................................................ 49 Вспомогательные операции ......................................................................................................................... 49 Элементарная графика .............................................................................................................................. 49 Двумерные графики ....................................................................................................................................... 49 Трехмерные графики ..................................................................................................................................... 49 2 Задание осей координат ............................................................................................................................... 49 Управление цветом ....................................................................................................................................... 49 Палитры цветов ............................................................................................................................................ 49 Управление подсветкой ................................................................................................................................ 50 Управление углом просмотра ...................................................................................................................... 50 Надписи и пояснения к графикам ................................................................................................................. 50 Создание твердой копии и сохранение графика ........................................................................................ 50 Двумерные графики ....................................................................................................................................... 50 Трехмерная графика ...................................................................................................................................... 50 Работа с графическими образами ............................................................................................................... 51 Анимационные возможности ........................................................................................................................ 51 Объемные графические объекты ................................................................................................................ 51 Дескрипторная графика ............................................................................................................................ 51 Создание и управление графическим окном ............................................................................................... 51 Создание осей координат и управление ими .............................................................................................. 51 Объекты дескрипторной графики .............................................................................................................. 51 Операции над графическими объектами .................................................................................................... 51 Графический интерфейс пользователя (GUI) ................................................................................................ 52 Функции GUI .................................................................................................................................................... 52 Средства проектирования GUI.................................................................................................................... 52 Диалоговые панели ........................................................................................................................................ 52 Создание меню ............................................................................................................................................... 52 Создание кнопок инструментальной панели ............................................................................................. 52 Утилиты задания свойств объектов figure и axes ................................................................................... 52 Вспомогательные утилиты ........................................................................................................................ 52 Обработка строк......................................................................................................................................... 53 Основные функции ......................................................................................................................................... 53 Проверка строк .............................................................................................................................................. 53 Операции над строками ............................................................................................................................... 53 Преобразования строк .................................................................................................................................. 53 Преобразования систем счисления ............................................................................................................. 53 Операции ввода/вывода файлов ........................................................................................................................ 53 Открытие и закрытие файлов .................................................................................................................... 53 Двоичные файлы ............................................................................................................................................ 53 Форматированные файлы ............................................................................................................................ 53 Позиционирование файла.............................................................................................................................. 53 Работа с каталогами.................................................................................................................................... 54 Импорт-экспорт файлов .............................................................................................................................. 54 Импорт/экспорт графических образов ....................................................................................................... 54 Импорт/экспорт звуковых файлов .............................................................................................................. 54 Время и даты ................................................................................................................................................... 54 Текущее время и дата ................................................................................................................................... 54 Основные функции ......................................................................................................................................... 54 Типы данных и структур ................................................................................................................................ 54 Многомерные массивы .................................................................................................................................. 54 Массивы ячеек ................................................................................................................................................ 55 Массивы записей ............................................................................................................................................ 55 Классы объектов и программирование ............................................................................................................ 55 Классы объектов ........................................................................................................................................... 55 Объектно-ориентированное программирование ...................................................................................... 55 Переопределение методов ........................................................................................................................... 55 Динамический обмен данными (DDE) ............................................................................................................. 56 Функции клиента ............................................................................................................................................ 56 Команды ППП Notebook .................................................................................................................................. 56 Команды и функции ППП Symbolic Mathematics Toolbox ................................................................................ 56 Базовые операции .......................................................................................................................................... 56 Преобразование символьных объектов ...................................................................................................... 57 Арифметика переменной точности ........................................................................................................... 57 Упрощение математических выражений ................................................................................................... 57 Математический анализ .............................................................................................................................. 57 Суперпозиция, обращение функций и решение уравнений ....................................................................... 57 Линейная алгебра........................................................................................................................................... 57 Специальные функции ................................................................................................................................... 58 Интегральные преобразования ................................................................................................................... 58 3 Графические и интерактивные средства .................................................................................................. 58 -------------------------------------------------------------------------------------------------------------------- Для заметок пользователя….. 4 АНАЛИТИЧЕСКИЕ СПРАВКИ, ПРОГРАММЫ, ПРИМЕРЫ РЕШЕНИЙ. МАТЕМАТИЧЕСКИЙ АНАЛИЗ 1. LIMIT Предел функции одной переменной пример: syms x limit(sin(x)/x) ans=1 limit((x-2)/(x^2-4),2) ans=1/4 limit((1+2*t/x)^(3*x),x,inf) ,где inf=бесконечное значение. ans=exp(6*t) ,exp Экспоненциальная функция. limit(1/x,x,0,'right') ,right правый предел. аns=inf limit(1/x,x,0'left') ,left левый предел. limit((sin(x+h)-sin(x))/h,h,0) ans=cos(x) 2.Дифференцирование функции одной переменной DIFF Функции diff(S,n),diff(S,'v',n),diff(S,n,'v') дифференцируют n раз символьное выражение S по переменной, указанной в 'v'. пример:diff(sin(x^2)) ans=2*cos(x^2)*x diff(t^6,6) ans=720 Продифференцируем матрицу F=[f*x b*x^2;c*x^3 d*c] дважды: diff('[a*x b*x^2; c*x^3 d*c]',2) ans=[0, 2*b];[6*c*x, 0] 3.Интегрирование функции одной переменной INT Функция int(S,v) вычисляет неопределенный интеграл по переменной v Функция int(S,v,a, b) вычисляет определенный интеграл по независимой переменной v в пределах от a до b. пример: если S константа, то интеграл берется по переменной x. int(1/(1-x^2)) ans=atanh(x) , где atanh гиперболический арктангенс int(sin(alpha*u), ,alpha (альфа) ans=-cos(alpha*u)/u int('besselj(1,x)','x') ,besselj функция Бесселя первого рода ans=-besselj(0,x), bessely - второго рода , besselh -третьего рода 1 Вычислить х1 log(x1) dx1 0 int('x1* log(1+x1)','x1',0,1 ans =1/4 sin(pi) Вычислитьх dx 2 int('4*x*pi','x',2,sin(pi)) ans = -65820… 4 . SYMSUM Суммирование рядов Функция r = symsum(s,n) выполняет суммирование ряда по индексу в пределах от 0 до n-1. Функции r = symsum(s,a,b) и r = symsum(s,n,a,b) выполняют суммирование в заданных пределах от a до b. 5.TAYLOR Разложение функции в ряды Тейлора и Маклорена . 5 Разложение в ряд Тейлора аналитической функции f(x) в точке х = а задается следующим образом: (n) n (a ) f f(x) = (x - a) .Разложением Маклорена называется ряд Тейлора n! n0 при а = 0 f(x) = x n (0)f (n) . n! Функция r = taylor(f,n,v) выполняет разложение функции f в ряд Маклорена по степеням переменной v до n-1-го порядка включительно. Функция r = taylor(f,n,v,a) выполняет разложение функции f в ряд Тейлора, в точке а, по степеням переменной v до n-1-го порядка включительно. Функция r = taylor(f) использует аргументы n,v так как это применяется по умолчанию то n = 6, v – по функции findsym , а = 0. Пример: syms x n = 6; a = 1; tayler(log(x), n, a) ans = x-1-1/2*(x-1)^2+1/3*(x-1)^3-1/4*(x-1)^4+1/5*(x-1)^5 В случае, когда функция f является функцией от двух или более переменных F = f(x,y,…), разложение в ряд по одной из переменных задается путем явного указания этой переменной . n 0 n y n! d f (x, y) 0 dy N n 0 n n syms x y taylor(f, y, N) или tfylor(f, N, y) ,где N –целое положительное число , по умолчанию - a = 0 6. СПРАВКА Решение системы линейных уравнений а) Если определитель системы D 0, система определенная; она имеет одно решение: корни хj выражаются формулами Крамера: D1 Dn Xj = ------ , …. Xn = ------- . D D Если D = 0 хотя и не все Dj = 0, то система несовместная: она не имеет ни одного решения. пример: 2x+y+3z = 9 x-2y+z = -2 3x+2y+2z = 7 а11 а12 вычисление определителя D: а21 а22 = а11 а22 -а12 а21 ; + а11 а12 а13 а11 а12 а 21 а 22 а 23 а 21 а 22 = а11 а22 а33 + а12 а23 а31 + а13 а21 а32 – а13 а22 а31-а11а23а33а 31 а 32 а 33 а 31 а 32 - + + + - а12 а21а33 ; Вычисление определителя Dj по заданному примеру: 9 1 3 Dx = 2 2 1 = -13, Dy = 7 2 2 2 9 3 2 1 9 1 2 1 = 26, Dz = 1 2 2 = 39, 3 7 2 3 2 7 6 D Dx D 13 26 39 = = - 1, y = y = = 2, z = z = =3 D 13 13 D 13 D Система определенная, неоднородная. Система называется несовместной и однородной, если все Dj = 0 Например: 2x+3у-z = 1, x- y + z = 2, 3x + 2y = 5; 2 3 1 1 3 1 Откуда x = D = 1 1 1 = 0, Dx = 2 1 1 =4 3 2 0 5 2 0 б) Зависимость функций нескольких переменных. Две однозначные функции от двух переменных u = f (x,y) и v = f(x,y), заданные в некоторой области, называются зависимыми одна от другой, если одна из них может быть представлена как функция другой: допустим u = (x2 +y2)2 и v = x 2 y 2 , определенные в области x2+y2 0 зависимые, так как u = v4 . Аналогично: m функций от n переменных заданных в некоторой общей области, называются зависимыми, если одна из них представлена как функция остальных, и независимыми, если такой функции не существует. Аналитический признак независимости функций их якобиан (определитель). Он не должен обращаться в рассматриваемой области тождественно в нуль. Например: две функции u = f(x,y) и v = (x,y) их определитель df df D(f, ) D(u, v) dx dy ,обозначаемый 0 ; d d D(x, y) D(x, y) dx dy 7 JFCOBIAN Вычисление якобиана функции. Функция R = jacobian(F,v) вычисляет матрицу Якоби для функции F по переменной v Пример: syms x y z F = [x*y*z ; y ; x+z] V = [x, y, z] J = jacobian(F, v) J= [y*z, x*z, x*y] [0, 1, 0] [1, 0, 1] Вычислим матрицу Якоби для второго примера из пункта 6а. Syms x y z F = [(2*x)+(3*y)-z ; x-y + z; (3*x)+(2*y)] v = [x, y, z] J = jacobian(F, v) J= [ 2 3 –1] [1 -1 1] = 0 . Функции зависимые, система несовместна. [3 2 0] Для одного уравнения можно делать запись: b = jacobian (x + z, v) b= [ 1, 1] 8. Нахождение зависимых функций от независимых переменных (суперпозиция). СOMPOSE Функция compose(f,g) находит функцию f(g(у), где а = f(x) и g = g(y), как функция независимой переменной у. 7 compose(f,g,z) находит функцию f(g(y)), где f= f(x) и g = g(y), как функция новой переменной z . compose(f, g, x, z) находит функцию f(g(z)), где f = f(x) , это существенно , так как функция f может зависеть от двух или более независимых переменных. Например: f = cos(x/t) тогда compose(f,g,x,z) находит cos(g(z)/t), а compose(f,g,t,z) находит cos(x/g(z)) . сompose(f,g,,x,y,z) находит функцию f(g(z)), где f = f(x), а у-как независимая переменная функции g . Например: f = cos(x/t) , а g = sin(y/u), тогда compose(f,g,x,y,z) находит cos(sin(z/u)/t), а сompose(f,g,x,u,z) находит cos(sin(y/z)/t) . Разберем элементарный пример . Допустим, требуется найти некоторое выражение, содержащее две независимые переменные x и у. Нам известна одна из функций этого выражения по переменной х f =f(x) равная f = v2 x2 g = v y . Используя программу MATLAB, найдем функцию f = f(g(y)). Запишем: syms x y v f =(v^2-x^2)^(1/2); g = (v^2-y^2)^(1/2); compose(f, g) ans = (y^2)^(1/2) Имеем: величина f = y. Искомое выражение будет: v2 = x2+y2. Аналогично: Syms x y z t u; F = 1/(1+x^2); g = sin(y); h = x^t; p = exp(-y/u); Compose(f, g) ans = 1/(1+sin(y)^2) compose(f, g, t) ans = 1/(1+sin(t)^2 compose(h, g, x, z) ans =sin(z)^t compose(h, g, t, z) ans = x^sin(z) compose(h, p, x, y, z) ans = exp(-z/u)^t compose(h, p, t, u, z) ans =x^exp(-y/z) 1 1 1 1 1 1 Cсоответственно: ; ; ; и т.д. 2 2 2 2 2 2 1 sin y 1 x 1 sin t 1 x 1 sin t 1 sin t 2 2 9 .SOLVE Решение уравнений и систем уравнений . СПРАВКА . Случай, когда число неизвестных равно числу уравнений а11 х1 + а12 х2+…+а1n хn = b1 а 21 x1 + a22 x2 +…+a 2n xn = b2 система S ……………………………….. an1 x1 + an2 x2 + …+ ann xn = bn 8 a 11 a n1 Определитель системы D = ... ... a1n ... ... , Dj -определитель, получающийся ... a nn из D заменой столбца, составленного из коэффициентов akj при неизвестном xj, столбцом , составленным из свободных членов bk; b1 a12 ... a1n например: D = ... ... ... ... . bn a n2 ... a nn Система S называется однородной, если все bk = 0, а значит и все Dj = 0, и не однородной, если хотя бы одно bk отлично от нуля. Если определитель D 0 система S – определенная; она имеет одно решение: корни xj выражаются формулой Крамера (см п.6). Если D = 0 и не все Dj = 0, то система S – несовместная (не имеет решения) Функция g = solve(eg,var) решает уравнение относительно переменной var. Если знак равенства не указан, то предполагается уравнение вида eg = 0. Функции g = solve(eg1, eg2,…,egn) и g = solve(eg1, eg2,…egn, var1, var2,…varn) решают системы уравнений относительно n переменных . Если переменные не указаны они определяются автоматически . Результаты вычислений выдаются: для одного уравнения и одного входного аргумента в виде одномерного или многомерного массива ячеек; для систем уравнений с одним входным аргументом в виде массива записей; для систем уравнений с числом аргументов, равным числу переменных решения выдаются по именам переменных в алфавитном порядке Примеры: syms x .x = solve(‘p*sin(x) = r’) ans = asin (r/p) . syms x или syms a b c x x = solve(‘a*x^2 + b*x = -c’) x = solve(a*x^2 + b*x + c) x= [1/2/a*(-b+(b^2-4*a*c)^(1/2))] [1/2/a*(-b-(b^2-4*a*c)^(1/2))] syms t t = solve(tan(t)-sin(2*t)) t= [ 0] [ pi] [1/4*pi] [-3/4*pi] syms x x= solve(cos(x) – sin(x^2)) x = 849368862392…. Примеры решения систем: syms x y S = solve('x^2+x*y+y = 3','x^2-4*x+3 = 0') S= x: [2x1 sym] y: [2x1 sym] S.x 9 ans = [ 1] [ 3] S.y ans = [ 1] [ -3/2] syms x y [x,y] = solve('x^2+x*y+y','x^2-4*x+3 = 0') x= [ 1] [ 3] y= [ 1 ] [-3/2] syms a u v [u,v] = solve('a*u^2+v^2 = 0','u-v = 1') u= [1/2/(a+1)*(-2*a+2*(-a)^(1/2))+1] [1/2/(a+1)*(-2*a-2*(-a)^(1/2))+1] v= [1/2/(a+1)*(-2*a+2*(-a)^(1/2))] [1/2/(a+1)*(-2*a-2*(-a)^(1/2))] syms a u v » S =solve('a*u^2+v^2','u-v = 1', a,u) S= a: [1x1 sym] u: [1x1 sym] » S.a ans = -v^2/(v^2+2*v+1) » S.u ans = v+1 » syms a u v » [a,u,v] = solve('a*u^2+v^2','u-v = 1','a^2-5*a+6') a= [ 2] [ 2] [ 3] [ 3] u= [ 1/3+1/3*i*2^(1/2)] [ 1/3-1/3*i*2^(1/2)] [ 1/4+1/4*i*3^(1/2)] [ 1/4-1/4*i*3^(1/2)] v= [ -2/3+1/3*i*2^(1/2)] [-2/3-1/3*i*2^(1/2)] [-3/4+1/4*i*3^(1/2)] [-3/4-1/4*i*3^(1/2)] syms a u v 10 » A = solve('a*u^2+v^2','u-v = 1','a^2-5*a+6') A= a: [4x1 sym] u: [4x1 sym] v: [4x1 sym] » A.a ans = [ 2] [ 2] [ 3] [ 3] » A.u ans = [ 1/3+1/3*i*2^(1/2)] [ 1/3-1/3*i*2^(1/2)] [ 1/4+1/4*i*3^(1/2)] [ 1/4-1/4*i*3^(1/2)] » A.v ans = [ -2/3+1/3*i*2^(1/2)] [ -2/3-1/3*i*2^(1/2)] [ -3/4+1/4*i*3^(1/2)] [ -3/4-1/4*i*3^(1/2)] 10 . DSOLVE Решение ОДУ и их систем . Функция r =dsolve(‘eg1’,’eg2’,…,’cond1’,’cond2’,…,’v’)вычисляет решение обыкновенных дифференциальных уравнений eg1,eg2,…относительно независимой переменной v с граничными или начальными условиями, определяемыми переменными cond1, cond2,...По умолчанию в качестве независимой переменной принимается t. Символ D , за которым следует цифра, означает повторное дифференцирование , т.е. D соответствует d/dt, а D2 соответствует d2/dt2 и т.д. . Символ, за оператором дифференцированья это зависимая переменная, например D3y означает d3y/dt3. Имя зависимой переменной не должно быть буквой D. Граничные или начальные условия задаются уравнениями вида y(a)=b,Dy(a)=b, где у зависимая переменная, a и b константы. Если количество условий меньше количества переменных, то решение включает произвольные константы C1,C2,… Каждое уравнение или условие можно записать в виде отдельного аргумента, но не более 12 .Если не указаны входные аргументы, dsolve возвращает список решений. Если решение не найдено, dsolve возвращает предупреждение: Warning: explicit solution could not be found and return an empty sym object. (символьное решение не найдено, выход – пустая символьная переменная- [empty sym] ). В этом случае для отыскания численного решения следует воспользоваться функциями ode23(не жесткие ОДУ, метод низкого порядка) или ode45 (не жесткие ОДУ, метод 4-го порядка) Функция в форме r = dsolve (‘eg1,eg2,… ‘,’cond1,cond2,…’,’v’) позволяет объединить несколько уравнений или условий в один аргумент. Результаты вычислений выдаются тремя способами: для одного уравнения и одного аргумента решение выдается в виде массива ячеек; для систем уравнений с числом аргументов, равному числу переменных, решения выдается в алфавитном порядке по именам переменных; для систем уравнений с одним аргументом решение выдается в виде массива записей. Примеры: » dsolve ('Dx = -a*x') ans = C1*exp(-a*t) 11 » x = dsolve ('Dx = -a*x','x (0) = 1','s') x= exp (-a*s) » y = dsolve ('(Dy)^2+y^2 = 1','y(0) = 0') y= [ sin (t)] [ - sin (t)] » S = dsolve ('Df = f+g','Dg = -f+g','f(0) = 1',’g (0) = 2') S= f: [1x1 sym ] g: [1x1 sym ] » S.f ans = exp (t)*(cos (t)+2*sin(t)) » S.g ans = -exp(t)*(sin(t)-2*cos(t) dsolve('Df = f+sin(t)','f(pi/2) =0') ans = -1/2*cos(t)-1/2*sin(t)+1/2*exp(t)/(cosh(1/2*pi)+sinh(1/2*pi)) Решение ОДУ с граничными условиями: » dsolve('D2y = -a^2*y','y(0) = 1,Dy(pi/a) = 0') ans = cos(a*t) Решение систем ОДУ: S =dsolve('Dx = y','Dy = -x','y(0) = 1') S= x: [1x1 sym] y: [1x1 sym] » S.x ans = -cos(t)*C1+sin(t) » S.y ans -sin(t)*C1+cos(t) S = dsolve('Du=v,Dv=w,Dw=-u','u(0)=0,v(0)=0,w(0)=1') S= u: [1x1 sym] v: [1x1 sym] w: [1x1 sym] » S.u ans = 1/3*3^(1/2)*exp(1/2*t)*sin(1/2*t*3^(1/2))-1/3*exp(1/2*t)*cos(1/2*t*3^(1/2))+1/3*exp(-t » S.v ans = 1/3*exp(1/2*t)*cos(1/2*t*3^(1/2))+1/3*3^(1/2)*exp(1/2*t)*sin(1/2*t*3^(1/2))-1/3*exp(» S.w ans = 1/3*exp(-t)+2/3*exp(1/2*t)*cos(1/2*t*3^(1/2)) » w = dsolve('D3w = -w','w(0) = 1,Dw(0) = 0,D2w(0) = 0') w = (1/3*exp(-t)+2/3*exp(1/2*t)*cos(1/2*t*3^(1/2)) f = dsolve('Df = f+sin(t)') f= -1/2*cos(t)-1/2*sin(t)+exp(t)*C1 12 » y =dsolve('(Dy)^2+y^2 = 1','s') y= [ -1] [ 1] [ sin(s-C1)] [ -sin(s-C1)] y = dsolve('Dy = a*y','y(0) = b') y= b*exp(a*t) » [x,y] = dsolve('Dx = y','Dy = -x') x= cos(t)*C1+sin(t)*C2 y= -sin (t)*C1+cos(t)*C2 11. Paбота с символьными массивами и матрицами. Операции над массивами выполняются поэлементно, а операции над матрицами определены в соответствии с правилами линейной алгебры. Операции над массивами предшествует точка. Операции сложения и вычитания над матрицами и массивами дают одинаковый результат. Аналитическая формула сложения: C = А+Б = | aij bij | ,где i –я строка, j-й столбец , формула вычитания : В + С = А Сложение: А + Б. Вычитание: A – Б. в MATLAB Слагаемые должны быть одинакового размера за исключением, когда одно из них скаляр; скаляр добавляется ко всем элементам другого операнда при сложении и вычитается из всех элементов другого операнда при вычитании. n Аналитическая формула умножения: cij a ik bkj k 1 Например: 2 3 1 2 1 2 9 4 12 2 6 11 16 8 =С 5 1 3 4 2 5 3 10 4 5 2 8 14 7 Операция умножения матриц не обладает свойством коммутативности. Например: имеем две матрицы А = 1 2 2 1 ,B 3 4 3 2 Тогда АВ = 8 5 , 18 11 5 8 , откуда следует, что ABBA. При перемножении матриц А и В 9 14 Надо указывать порядок выполнения операций умножения; например, в случае произведения АВ матрица В умножена на матрицу А слева, в случае ВА справа. Умножение матриц: A * B. Умножение массивов: A.* B. в MATLAB. При умножении матриц или матриц и векторов число столбцов первого сомножителя должно быть равно числу строк второго. На скаляр умножаются все элементы сомножителя. Массивы умножаются одинакового размера поэлементно. На скаляр умножаются все элементы сомножителя. Решение систем линейных уравнений :A \ X = B; X / A = B; (левое, правое). Если А квадратная матрица размера n n и B – матрица размера n k. Прямоугольные матрицы допустимы, но уравнения должны быть совместны. Решение по методу наименьших квадратов не вычисляется. Левое, правое деление массивов: A.\ B; A./B. Результатом является массив элементов B(i,j) / A(i,j); массивы должны быть одинаковых размеров за исключением, когда один из них скаляр. Степень матрицы: A^p. Если p – целое положительное число, то степень матрицы вычисляется путем перемножения ее на себя; если p-целое отрицательное число, то же самое относится к обратной матрице. Матрицей, обратной по отношению к квадратной матрице А, называют такую квадратную матрицу А^- ВА= 13 1 того же размера, для которой справедливо соотношение АA^-1 = A^-1A . Квадратная матрица называется вырожденной, если ее определитель равен нулю. В противном случае называется невырожденной. Только для невырожденной квадратной матрицы A существует обратная матрица A^-1. Степень массива: A.^ B результатом является массив с элементами A(i,j)^B(i,j); массивы должны быть одинаковых размеров кроме случая, когда один из них скаляр. Транспонированной матрицей A’ для матрицы А размера m n называется матрица размера n m, получаемая заменой строк столбцами. Транспонирование матрицы: A’. Транспонирование массива: A.’ В MATLAB . Примеры: » syms a b c d; » A = [a b; c d] A= [ a, b] [ c, d] » A*A/A ans = [ a, b] [ c, d] » A*A\A» ans = [ 1/(-b*c+d*a)*d, -1/(-b*c+d*a)*b] [ -c/(-b*c+d*a), a/(-b*c+d*a)] » syms a11 a12 a21 a22 b1 b2; » A = [a11 a12;a21 a22]; » B = [b1 b2]; » X = B/A; » x1 =X(1) x1 = -(-a22*b1+b2*a21)/(-a12*a21+a11*a22) » x2 = X(2) x2 = (-a12*b1+a11*b2)/(-a12*a21+a11*a22) ЛИНЕЙНАЯ АЛГЕБРА 12 DET Определитель матрицы. Аналитическое нахождение определителя смотрите пункт 6а. Функция r = det (A) вычисляет определитель символьной и числовой матрицы с результатом в символьном или числовом виде соответственно. Пример: A = sym([9 1 3; -2 -2 1; 7 2 2]) A= [ 9, 1, 3] [ -2, -2, 1] [ 7, 2, 2] » r = det(A) r= -13 13 . POLY Характеристический полином матрицы. СПРАВКА Алгебраические элементарные функции, определенные формулами, содержащими конечное число алгебраических или тригонометрических операций, производимых над аргументом, 14 функцией, постоянными путем сложения, вычитания, умножения, деления, возведением в степень, извлечением корня, логарифмированием, взятием прямых или обратных тригонометрических функций, называются целыми функциями или полиномами. Функция p = poly (A) вычисляет коэффициенты характеристического полинома матрицы А. Если матрица представлена в символьном виде, то и полином выдается в символьном виде, используя по умолчанию переменную х. Функция p = poly(A,v) позволяет указать независимую переменную. Пример: A = gallery(3) ,где gallery – тестовая матрица в программе MATLAB A= -149 -50 -154 537 180 546 -27 -9 -25 » p = poly(A) p= 1 -6 11 -6 » g = poly(sym(A)) g= x^3-6*x^2+11*x-6 » s = poly(sym(A),sym('z')) s= z^3-6*z^2+11*z-6 14 .DIAG Формирование или извлечение диагоналей матрицы. СПРАВКА Вычисление определителя упрощается, если в матрице элементы, расположенные по одну сторону от главной диагонали, равны нулю. Такой определитель называется определителем треугольного вида. Из свойства матриц имеем: среди всех матриц размера n n существует единственная, что ее произведение на произвольную квадратную матрицу А слева или справа не изменит матрицу А АЕ = ЕА. Непосредственным умножением матрицы А на матрицу Е можно проверить, что матрицей Е, удовлетворяющей указанному равенству, является матрица, у которой элементы, расположенные на главной диагонали, равны единице, а остальные равны нулю (единичная матрица). Для использования этих свойств необходима проверка элементов матрицы по диагоналям. Функция X =diag(v) формирует квадратную матрицу Х с вектором v на главной диагонали. Функция Х = diag(v,k) формирует квадратную матрицу Х порядка length(v)+abs(k), где length – длина вектора, abs – значение комплексного числа, c вектором v на k – й диагонали. Функция v = diag(X) извлекает из матрицы Х главную диагональ. Функция v = diag(X,k) извлекает из матрицы Х диагональ с номером k; при k 0, это номер k-й верхней диагонали, при k 0 это номер k-й нижней диагонали. Пример: syms a b c » v = [a b c] v= [ a, b, c] » diag(v) ans = [ a, 0, 0] [ 0, b, 0] [ 0, 0, c] » diag(v,-2) ans = [ 0, 0, 0, 0, 0] 15 [ 0, 0, 0, 0, 0] [ a, 0, 0, 0, 0] [ 0, b, 0, 0, 0] [ 0, 0, c, 0, 0] » syms x y z » A = [a,b,c; 1,2,3; x,y,z] A= [ a, b, c] [ 1, 2, 3] [ x, y, z] » diag(A) ans = [ a] [ 2] [ z] syms a b c » A = [a,b,c; 1,2,3; a+1,b+2, c+3] A= [ a, b, c] [ 1, 2, 3] [ a+1, b+2, c+3] » tril(A) ans = [ a, 0, 0] [ 1, 2, 0] [ a+1, b+2, c+3] » tril(A,1) ans = [ a, b, 0] [ 1, 2, 3] [ a+1, b+2, c+3] » tril(A,-1) ans = [ 0, 0, 0] [ 1, 0, 0] [ a+1, b+2, 0] » diag(A,1) ans = [ b] [ 3] 15 .TRIL Формирование нижней треугольной матрицы (массива) Функция L = tril(X) сохраняет нижнюю треугольную часть матрицы Х. Функция L = tril(X,k) сохраняет нижнюю треугольную часть матрицы Х начиная с диагонали с номером k . При k 0 это номер k-й верхней диагонали, при k 0 это номер k-й нижней диагонали. Пример: syms a b c » A = [a,b,c; 1,2,3; a+1,b+2, c+3] A= [ a, b, c] [ 1, 2, 3] [ a+1, b+2, c+3] 16 » tril(A) ans = [ a, 0, 0] [ 1, 2, 0] [ a+1, b+2, c+3] » tril(A,1) ans = [ a, b, 0] [ 1, 2, 3] [ a+1, b+2, c+3] » tril(A,-1) ans = [ 0, 0, 0] [ 1, 0, 0] [ a+1, b+2, 0] 16 . TRIU Формирование верхней треугольной матрицы (массива) Функция U = triu(X) сохраняет верхнюю треугольную часть матрицы (массива) X. Функция U = triu(X,k) сохраняет верхнюю треугольную часть матрицы (массива) X начиная с диагонали с номером k. При k 0 это номер k-й верхней диагонали, при k 0 это номер k-й нижней диагонали. » syms a b c » A = [a,b,c; 1,2,3; a+1,b+2,c+3] A= [ a, b, c] [ 1, 2, 3] [ a+1, b+2, c+3] » triu(A) ans = [ a, b, c] [ 0, 2, 3] [ 0, 0, c+3] » triu(A,1) ans = [ 0, b, c] [ 0, 0, 3] [ 0, 0, 0] » triu(A,-1) ans = [ a, b, c] [ 1, 2, 3] [ 0, b+2, c+3] 17. СПРАВКА. ( Ранги, миноры матрицы ) Имеем матрицу – систему из mn чисел, таблицу из m строк и n столбцов. Минором k-го порядка матрицы ||А|| (k m, k n) называется определитель D, составленный с сохранением порядка из k2 элементов матрицы, лежащих на пересечении некоторых ее k столбцов и k строк. Рангом матрицы ||A|| называется наибольший порядок, который могут иметь ее миноры, не обращающиеся в нуль. Для определения ранга матрицы следует рассмотреть все ее миноры порядка f (где f – меньшее из чисел m,n, если m n или f = m = n); если хотя бы один из них 0, то ранг ||A|| равен f; если все они = 0, то следует рассмотреть все миноры порядка f-1 и т. д. Практически пользуясь правилом: если найден 17 минор k-го порядка Dk ,отличный от нуля, то остается вычислить только те миноры (k+1)-го порядка, которые представляют собой “окаймление” Dk с двух возможных сторон, образующих угол. Если все такие- то лучше переходить от миноров меньшего порядка к минорам большего порядка. Если миноры (k+1)-го порядка равны нулю, то ранг матрицы равен k . Например: минор 2-го порядка, стоящий в левом 2 4 3 1 0 1 2 1 1 2 2 4 ||A|| = верхнем углу, D2 = 1 2 0 1 1 3 1 4 7 4 4 5 4 3 Но в матрице||A|| есть минор 2-го порядка, не равный нулю: D’2 = 0. 2 1 2 4 3 Окаймляем его слева и снизу: D3 = 1 2 1 =1 0. Окаймляя D3 ( это 0 1 1 2 4 3 1 1 2 1 4 можно сделать лишь двумя способами), находим: D3 = =0 0 1 1 3 4 7 4 4 2 4 3 0 1 2 1 2 и D’4 = = 0 . Следовательно, ранг ||A|| = 3 0 1 1 1 4 7 4 5 18.RANK . Ранг целочисленной матрицы A . пример: возьмем выше рассмотренную матрицу ||A|| » rank ([2 -4 3 1 0; 1 -2 1 -4 2; 0 1 -1 3 1; 4 -7 4 -4 5]) ans = 3 19 .COLSPACE. Базис пространства столбцов целочисленной матрицы Функция B=colspace(A) формирует матрицу, столбцы которой являются базисом пространства целочисленной матрицы А. Количество столбцов равно рангу матрицы А. » B = colspace(sym(magic(4))) , где magic(4)- магический квадрат, введенный в MATLAB. B= [ 1, 0, 0] [ 0, 1, 0] [ 0, 0, 1] [ 1, 3, -3] 20.NYLL . Нуль – пространство для целочисленной матрицы Функция Z = null(A) формирует матрицу, столбцы которой являются базисом Нуль – пространства целочисленной матрицы А. Количество столбцов матрицы Z определяет размерность нуль – пространства. Произведение А*Z = 0. Если матрица А имеет полный ранг, то Z –пустая. Пример: A = sym(magic(4)); » Z = null(A) Z= [ -1] 18 [ -3] [ 3] [ 1] 21.INV. Обращение символьной или целочисленной матрицы. Функция R = inv(A) формирует матрицу, обратную матрице А. Пример: выполним обращение целочисленной матрицы » A = sym([2,-1,0; -1,2,-1; 0,-1,2]) A= [ 2, -1, 0] [ -1, 2, -1] [ 0, -1, 2]» » inv(A) ans = [ 3/4, 1/2, 1/4] [ 1/2, 1, 1/2] [ 1/4, 1/2, 3/4] 22. SVD. СПРАВКА. Сингулярное разложение символьной или целочисленной матрицы. В евклидовом пространстве для линейного преобразования А существует сопряженное преобразование А’, описывающее отображения, сопряженные заданному линейному отображению одного линейного пространства в другое. Рассмотрим отображение А: Еn Е m, где Еn и Еm –евклидовы пространства, и введем определения. Первым сингулярным базисом отображения А называется ортонормированный базис в Е n, состоящий из собственных векторов преобразования А’ А, если векторы базиса упорядочены так, что соответствующие собственные значения не возрастают 1 n. Таким образом, если r = Rg A, то i 0 при i r и j = 0 при j r. Пусть e1,…,en- первый сингулярный базис А. Тогда (А(еi),А(еj)) = (А’А(еi), еj) = i(еi, еj). Отсюда следует, что векторы А(еi) попарно ортогональны и |A(ei)| = i .Отсюда следует, что векторы А(еi) 0 при i r и А(еi) = 0 при i r . Числа i = , где i – собственные преобразования А’A, i называются сингулярными числами отображения А, а также сингулярными числами матрицы этого отображения. При i r векторы 1/i A(ei) образуют ортонормированную систему в Еm. Дополнив ее до ортонормированного базиса f в Еm cделаем определение: вторым сингулярным базисом отображения А является ортонормированный базис f в Еm , первые r векторов которого имеют вид 1/i А(еi), i = 1,…,r, где е1…,еn – первый сингулярный базис , а r = RgA. Из определений видно ,что сингулярные базисы определены неоднозначно. Теорема (приводится без доказательства): в паре сингулярных базисов отображения А Матрица этого отображения имеет вид: 0 А = Dr 0 0 Здесь Dr–квадратная диагональная матрица порядка r c числами i на диагонали, а остальные элементы А равны нулю. Теорема (приводится без доказательства): произвольная матрица размеров m n. Может быть разложена в произведение GAP,где G и P – ортогональные матрицы, А – выше приведенная матрица. Это разложение называется сингулярным. Функция sigma = svd(A) формирует вектор сингулярных чисел символьной матрицы А. Функция sigma = svd(vpa(A)) вычисляет численное значение вектора сингулярных чисел матрицы А, используя вычисления с заданной точностью по программе, устанавливающей количество (d) значащих цифр результата digits (d) . 19 Функции [U,S,V] = svd(A) и [U,S,V] = svd(vpa(A)) вычисляют такие унитарные матрицы U и V, а также диагональную матрицу S, содержащую сингулярные числа, что выполняется разложение A = U*S*V. Такие разложения выдаются только в численном виде. Пример: digits(4) » A =sym(magic(4)) A= [ 16, 2, 3, 13] [ 5, 11, 10, 8] [ 9, 7, 6, 12] [ 4, 14, 15, 1] » svd(A) ans = [ 0] [ 34] [ 2*5^(1/2)] [ 8*5^(1/2)] » svd(vpa(A)) ans = [ .3108e-6*i] [ 4.472] [ 17.89] [ 34.00] » [U,S,V] = svd(A) U= [ -.5000, .6708, .5000, -.2236] [ -.5000, -.2236, -.5000, -.6708] [ -.5000, .2236, -.5000, .6708] [ -.5000, -.6708, .5000, .2236] S= [ 34.00, 0, 0, 0] [ 0, 17.89, 0, 0] [ 0, 0, 4.472, 0] [ 0, 0, 0, .8346e-15] V= [ -.5000, .5000, .6708, -.2236] [ -.5000, -.5000, -2236, -.6708] [ -.5000, -.5000, .2236, .6708] [ -.5000, .5000, -.6708, .2236] 23. Справка: собственные векторы и собственные значения линейного преобразования. В теории линейных преобразований часто используется понятие собственного вектора. Ненулевой вектор х линейного пространства называется собственным вектором относительно линейного преобразования А, если Ах = kх, где k- некоторое число. Число k называется собственным значением (числом) собственного вектора х для линейного преобразования А. Собственное значение собственного вектора х определяется однозначно. Действительно, предположим, что собственному вектору х соответствует два различных собственных значения k и k1 , тогда из равенства kх = k1х следует, что (k-k1)х = 0 ,но по определению собственный вектор не равен нулю, т. е. х 0, поэтому k = k1. Матрица вида 20 а 11 А –kЕ = а k 21 ... а n1 а 12 а а ... 1n а22 k ... ... ... а n2 ... 2n ... а nn k называется характеристической матрицей матрицы А. Определитель характеристической матрицы А – kЕ называется характеристическим многочленом матрицы А. Корни характеристического многочлена матрицы называются характеристическими числами этой матрицы . 24 EIG .Собственные значения и собственные векторы символьной матрицы. Функция lambda = eig (A) формирует вектор lambda собственных значений символьной матрицы А. Функция[V,D] = eig(A) возвращает матрицу первых собственных векторовV и диагональную матрицу собственных значений. Если размер матрицы V совпадает с размером матрицы А, то А имеет полную систему независимых собственных векторов и выполняется спектральное разложение A*V = V*D . Функция [V,D,p] = eig(A) возвращает также вектор индексов р, длина которого равна количеству линейно независимых векторов, так что выполняется условие A*V = V*D(p,p).Функция lambda = eig (vpa(A)) и [V,D] =eig (vpa(A)) вычисляет числа собственных значений и собственных векторов с переменной точностью. Если матрица А не имеет полной системы собственных векторов, то столбцы матрицы будут линейно зависимы. Пример: » R =sym (rosser) , где rosser – матрица Рессера в программе MATLAB . R= [ 611, 196, -192, 407, -8, -52, -49, 29] [ 196, 899, 113, -192, -71, -43, -8, -44] [ -192, 113, 899, 196, 61, 49, 8, 52] [ 407, -192, 196, 611, 8, 44, 59, -23] [ -8, -71, 61, 8, 411, -599, 208, 208] [ -52, -43, 49, 44, -599, 411, 208, 208] [ -49, -8, 8, 59, 208, 208, 99, -911] [ 29, -44, 52, -23, 208, 208, -911, 99] » eig (R ) ans = [ 0] [ 1020] [ 510+100*26^(1/2)] [ 510-100*26^(1/2)] [ 10*10405^(1/2)] [ -10*10405^(1/2)] [ 1000] [ 1000] eig (vpa(R)) ans = [ -1020.0490184299968238463137913055] [ .56512999999999999999999999999800e-28] [ .98048640721516997177589097485157e-1] [ 1000.0000000000000000000000000002] [ 1000.0000000000000000000000000003] [ 1019.9019513592784830028224109024] [ 1020.0000000000000000000000000003] [ 1020.0490184299968238463137913055] 21 25 . СПРАВКА: понятие о канонической форме Жордана. Не всякую матрицу можно привести к диагональному виду линейным преобразованием. Удобно выделить класс матриц простейшего вида, к которому можно было бы привести путем некоторых линейных преобразований любую матрицу. Рассмотрим квадратную матрицу размера n n, элементы главной диагонали которой равны числу k0, элементы ai i+1 (i =1,2,…, n-1) – единицы, а все остальные элементы – нули. Такая матрица называется клеткой Жордана порядка k0 1 0 ... 0 0 0 ... 0 k 0 0 ... 0 1 k 0 ... 0 ... ... ... ... 0 0 ... k N,отвечающей собственному значению k0 . 0 Жордановой матрицей называется клеточно – диагональная матрица, в которой 2 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 на главной диагонали стоят клетки 0 0 0 0 3 1 0 0 0 Жордана, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 а элементы вне этих клеток равны нулю . 0 2 0 0 0 0 3 0 0 0 1 3 0 0 2 1 0 2 0 0 3 0 0 0 0 1 3 1 0 0 3 1 |3||1|0 0 3 клетки Жордана .Таким образом всякой числовой матрицы А существует подобная ей Жорданова матрица J, т.е. существует такая невырожденная матрица С , что J = C -1 A C . Следует заметить, что одному и тому же собственному значению может соответствовать несколько клеток Жордана различного размера. Матрицы записанные в жордановой форме используются при решении систем линейных дифференциальных уравнений с постоянными коэффициентами . 26 JORDAN. Каноническая форма Жордана символьной матрицы. Функция l = jordan (A) Вычисляет каноническую форму Жордана для символьной или числовой матрицы А. Матрица А должна быть задана точно, то есть ее элементы должны быть целыми или рациональными числами. Функция [V,J] = jordan(A) вычисляет как каноническую форму Жордана, так и матрицу подобного преобразования, столбцы которой являются обобщенными собственными векторами, так что выполняется соотношение V\A*V = j. Пример: R = sym (gallery('chebspec',4)); где сhebspec –матрица Чебышева в программе » [V,J] = jordan(R^2) MATLAB V= [ 116/15, 1/5, 12/5, -4/5] [ 10/3, 0, 0, 0] [ -82/15, 1, -24/5, 1] [ -148/15, 0, -36/5, 0] J= [ 0, 1, 0, 0] 22 [ 0, 0, 0, 0] [ 0, 0, 0, 1] [ 0, 0, 0, 0] Выполним проверку разложения в арифметике с плавающей запятой удвоенной точности: V =double(V) V= 7.7333 0.2 2.4 -0.8 3.3333 0 0 0 -5.4667 1 -4.8 1 -9.8667 0 -7.2 0 » V\(R^2)*V ans = [ 0, 1, 0, 0] [ 0, 0, 0, 0] [ 0, 0, 0, 1] [ 0, 0, 0, 0] 27. EXPM. Матричная экспонента . Функция expm(A) вычисляет экспоненту от символьной матрицы А. Пример: вычислим функцию expm(X*T) для произвольного значения T: syms T » X = sym(gallery('chebspec',4)); » expm(X*T) ans = [ 1+19/6*T+8/3*T^2+2/3*T^3, -4/3*T^3-14/3*T^2-4*T, 4/3*T^3+10/3*T^2+4/3*T, -2/3*T^34/3*T^2-1/2*T] [T+5/3*T^2+2/3*T^3, 1-4/3*T^3-8/3*T^2-1/3*T, 4/3*T^3+4/3*T^2-T, -2/3*T^31/3*T^2+1/3*T] [-1/3*T-1/3*T^2+2/3*T^3, -4/3*T^3+4/3*T^2+T, 1+4/3*T^3-8/3*T^2+1/3*T,2/3*T^3+5/3*T^2-T] [1/2*T-4/3*T^2+2/3*T^3, -4/3*T^3+10/3*T^2-4/3*T, 4/3*T^3-14/3*T^2+4*T, 12/3*T^3+8/3*T^2-19/6*T] » digits(4) » expm(vpa(X*1/10)) ans = [ 1.344, -.4480, .1680, -.6400e-1] [ .1173, .9387, -.8534e-1, .2933e-1] [ -.3600e-1, .1120, 1.008, -.8400e-1] [ .3734e-1, -.1013, .3547, .7093] СПЕЦИАЛЬНЫЕ ФУНКЦИИ. Неэлементарные функции, имеющие теоретическое или практическое значение называются специальными. Им придаются особые названия и обозначения. 28. Функции интегрального косинуса и синуса. cos x Интегральный косинус, – определенный интеграл y = d x . Обозначается x x x2 x4 x6 ..., где С –эйлерова постоянная = 0,5772 У = Ci x =C – ln x 2 * 2! 4 * 4! 6 * 6! COSINT. Функция cosint(z) вычисляет интегральный косинус от символьной или числовой матрицы А, которая может быть и комплексной. 23 Пример: Вычислить значение интегрального косинуса в точке z =pi и значения функции в интервале [0…1] с шагом 0,1: cosint(pi) ans = 0.073668 » cosint([0:0.1:1]) ans = Columns 1 through 6 Inf -1.7279 -1.0422 -0.64917 -0.37881 -0.17778 Columns 7 through 11 -0.022271 0.10051 0.19828 0.27607 0.3374 x Интегральный синус- определенный интеграл sin t dt . t 0 x3 x5 x7 ... 3 * 3! 5 * 5! 7 * 7! Функция Y =sinint(Z) вычисляет интегральный синус от символьной или числовой матрицы А, которая может быть и комплексной . Пример: sinint(p ans = 1.8519 » sinint([0:0.1:1]) ans = Columns 1 through 6 0 0.099944 0.19956 0.2985 0.39646 0.49311 Columns 7 through 11 0.58813 0.68122 0.7721 0.86047 0.94608 Обозначается у =Si(x) = x- 29. LAMBERTW W – функция Ламберта Уравнения F(x) = f(x) называются трансцендентными, если хотя бы одна из функций F(x) или f(x) не является алгебраической. Функция W = lambertw(X) находит решение трансцендентного уравнения вида W*exp (w) = x, называемое W- функцией Ламберта. Функция W = lambertw(k,X) находит k-ю комплексную ветвь многозначной функции w(x). x=[1,10:10:50]; » y1=lambertw(1,x); » y2=lambertw(2,x); » plot(y1),hold on,plot(y2) 12 11 10 9 8 7 6 5 4 -3 -2 -1 0 1 2 3 24 30. ZETA Дзета – функция Римана Аналитическое выражение функции - (s) = k -s , Re(s)0 Функция Y = zeta(X) вычисляет k 1 Y = zeta(n,X) находит n –ю производную - функции. Пример: Вычислить и построить -функции Римана для комплексных значений аргумента s = i+а1, 2*i+a2 . a1=[1 1.2 1.5 1.6 1.7 1.8 1.9 2.0 2.5 3.0 3.5 4.0 4.5 5:10]; » y1=zeta(i+a1); » a2=[1.0 1.2 1.5 2.0 2.5 3.0 4.0 5.0 10.0]; » y2=zeta(2*i+a2); » plot(real(y1),imag(y1)),grid,hold on,plot(real(y2),imag(y2)) a1=[1 1.2 1.5 1.6 1.7 1.8 1.9 2.0 2.5 3.0 3.5 4.0 4.5 5:10]; » y1=zeta(i+a1); » a2=[1.0 1.2 1.5 2.0 2.5 3.0 4.0 5.0 10.0]; » y2=zeta(2*i+a2); » plot(real(y1),imag(y1)),grid,hold on,plot(real(y2),imag(y2)) 0 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 СПЕКТРАЛЬНЫЙ АНАЛИЗ. ИНТЕГРАЛЬНЫЕ ПРЕОБРАЗОВАНИЯ. 31. FOURIER Преобразование Фурье. CПРАВКА. Eсли функция f(x) на любом конечном интервале удовлетворяет условиям Дирихле, т. е. a) интервал, на котором функция определена, может быть разбит на конечное число интервалов, в каждом из которых f(x) непрерывна и монотонна; б) во всякой точке разрыва f(x) существует при х = а предел А слева, если функция подходит как угодно близко к А при возрастающих значениях х, приближающихся к а, это условие принято обозначать: A = f(a – 0); если функция имеет при х = аФ предел А справа, т.е. подходит как угодно близко к А при убывающих значениях х, приближающихся к а, то принято обозначение : A = f(a + 0) . Pяд Фурье в этой функции сходится, и сумма его равна f(x - 0) f(x 0) f(x) в точках непрерывности , а точках разрыва она равна . Таким образом 2 интеграл с бесконечными пределами | f(x) | dx сходится и имеет место формула (интеграл Фурье): f(x) = 1/2pi e - iut du f ( t) iux dt =1/pi du f ( t ) cos n( t x )dt. Интеграл представляет функцию f(x) в виде суммы бесконечно большого числа колебаний с 25 непрерывно меняющейся частотой u; интеграл дает разложение функции в непрерывный спектр, при этом частота u соответствует плотности спектра F(iu) = 1/2pi f(t) e -iut dt Совокупность операций, позволяющих по заданной функции f(t) находить ей соответствующую спектральную характеристику F(iu), называется преобразованием Фурье. Функция F = fourier(f) вычисляет преобразование Фурье символьной скалярной функции f от независимой переменной, определяемой функцией findsym (по умолчанию х). Преобразование Фурье F является функцией переменной w (по умолчанию). Таким образом, справедлива цепочка: f = f(x) F = F(w). Если для функции f определена переменная w, т.е. f=f(w), то аргумент возвращаемой функции будет t т. е. F = F(t). Преобразование Фурье в программе MATLAB происходит в принятой символике: F(w) = f(x)e iwx dx . Функция F = fourier(f,v) заменяет аргумент возвращаемой функции (по умолчанию w) на v, т.е. вычисляется преобразование F(v) = f(x)e ivx dx . Функция - F = fourier(f,u,v) заменяет аргумент исходной функции (по умолчанию x) на u , а аргумент возвращаемой функции ( по умолчанию w) – на v, т.е. вычисляется преобразование: F(v) = f(u)e ivu du Пример: вычислить преобразование Фурье для аргументов, используемых по умолчанию: clear » syms x f F » f = exp(-x^2); » ezplot(exp(-x^2),[-5 5]),grid exp(-x2) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -5 0 x 5 p 1/2 exp(-1/4 w2) 1.8 F = fourier(f) F= pi^(1/2)*exp(-1/4*w^2) » ezplot(F,[-5 5]),grid Aргумент исходной функции –w: syms g w » g= exp(-abs(w)) g= exp(-abs(w)) » F=fourier(g) F= 2/(1+t^2) Аргумент возвращаемой функции –x: syms u » f=x*exp(-abs(x)) f= x*exp(-abs(x)) 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -5 0 w 5 26 » F = fourier(f) F= -4*i/(1+w^2)^2*w Аргумент исходной функции –w, аргумент возвращаемой функции –x: syms x real » f = exp(-x^2*abs(w))*sin(w)/w f= exp(-x^2*abs(w))*sin(w)/w » F=fourier(f,w,x) F= -atan(x-1)+atan(x+1) 32 . IFOURIER. Обратное преобразование Фурье. СПРАВКА . Формула интеграла Фурье f(t) = 1/2pi F(iu)e iut du позволяет по известной функцииF(iu) определить ей соответствующую функцию f(t) . эта математическая операция называется обратным преобразованием Фурье .Функция f=ifourier(F) обратное преобразование Фурье символьной скалярной функции F от независимой переменной, определяемой функцией findsym (по умолчанию w) Обратное преобразование Фурье f является функцией переменной x (по умолчанию) .Справедлива цепочка: F = F(w) функции F определена переменная х, т. е. F = F(x), то аргумент возвращаемой функции будет t, т.е. f = f(t). Математически обратное преобразование программой MATLAB выражено в следующих символах: f(x) = 1/2pi F(w)e iwx dw . Функция f = ifourier(F,u) заменяет аргумент возвращаемой функции (по умолчанию x) преобразование: f(u) = 1/2pi F(w)e iwu на u, т. е. вычисляется следующее dw . Функция f = ifourier(F,v,u) заменяет аргумент исходной функции (по умолчанию w) на v,а аргумент возвращаемой функции(по умолчанию х)- на u ,т. е. вычисляется преобразование: f(u) = 1/2pi F(v)e ivu a exp(-x2 a2)/p 1/2 = 0 dv . 30 20 10 x Пример: clear » » syms w f F » syms a real » F = exp(-w^2/(4*a^2)); » f = ifourier(F); » f = simple(f) f= a*exp(-x^2*a^2)/pi^(1/2) ezplot(f,[-30 30]), grid 0 -10 -20 -30 -30 -20 -10 0 a 10 20 30 Аргумент исходной функции –х: syms g x » g = exp(-abs(x)); » ifourier(g) ans = 27 1/(1+t^2)/pi Аргумент возвращаемой функции – t: syms w t F f » F = 2*exp(-abs(w))-1; » f = simple(ifourier(F,t)) f= -(-2+pi*Dirac(t))/(1+t^2)/pi Аргумент исходной функции –v, аргумент возвращаемой функции –t: » syms v » syms w real » F = exp(-w^2*abs(v))*sin(v)/v; » f = ifourier(F, v, t) f= 1/2*(atan((t+1)/w^2)-atan((t-1)/w^2))/pi 33. LAPLACE . Преобразование Лапласа . СПРАВКА . Пусть задана некоторая функция f(t) действительной переменной t , такая что для неё существует преобразование Лапласа (L-преобразование) L[f(t)] =F(s)= f(t)e dt , т.е. -st интеграл этого равенства является сходящимся. Используя L –преобразование, можно каждой преобразуемой по Лапласу функции f(t), которая в этом случае называется “оригиналом” поставить в соответствие функцию F(s) комплексной переменной s , которая будет называться “изображением” функции f(t) .Преобразование обладает рядом замечательных свойств. Например, дифференцированию оригинала f(t) по переменной t соответствует операция умножения изображения F(s)на комплексную переменную s, а интегрированию оригинала f(t)соответствует операция деления F(s) на s. Таким образом, операции дифференцирования и интегрирования оригинала заменяются в пространстве изображений оригинала более простыми операциями алгебры. Это позволяет дифференциальное уравнение, записанное относительно искомой функции f(t),заменить в пространстве изображений на алгебраическое уравнение относительно изображения F(s) =L[f(t)]. Решив это алгебраическое уравнение и найдя F(s), мы получим изображение решения исходного дифференциального уравнения. Функция L = laplase(f) вычисляет преобразование Лапласа символьной скалярной функции f от независимой переменной, определяемой функцией findsym (по умолчанию). Преобразование Лапласа L является функцией переменной s (по умолчанию).Таким образом, справедлива цепочка: f = f(t) возвращаемой функции будет t, т.е. L = L(t). Математически преобразование Лапласа программой MATLAB выражено в следующих символах: L(s) = st f(t)e dt . Функция L = laplace(f,v) заменяет аргумент возвращаемой функции (по умолчанию s ) на v, т.е. вычисляется преобразование: L(v) = f(t)e - vt dt . Функция L = laplace(f,u,v) заменяет аргумент исходной функции ( по умолчанию) на u, а аргумент возвращаемой функции (по умолчанию s) –на v, т.е. вычисляется преобразование: L (v) = f(u)e - vu du . Пример: вычислить преобразование для аргументов, используемых по умолчанию: syms a s t w x v » L = laplace(t^4) 28 L= 24/s^5 Аргумент возвращаемой функции –v: L = laplace(sin(w*x),v) L= w/(v^2+w^2) Aргумент исходной функции-w,аргумент возвращаемой функции-t: » L = laplace(cos(x*w),w,t) L= t/(t^2+x^2) Найти аналитическое выражение преобразования производной функции f(t) : L = laplace(diff(sym('f(t)'))) L= s*laplace(f(t),t,s)-f(0) 34. ILAPLACE. Обратное преобразование Лапласа . СПРАВКА (читайте п. 33) Для определения решения исходного уравнения можно воспользоваться обратным преобразованием Лапласа ( L-1 –преобразованием) устанавливающим связь между изображением F(s) и ему соответствующим оригиналом f(t): c i F(t) = L-1 [F(s)] = 1/2pi i F(s)e dt, t 0 , где с = Res . st c i Во многих случаях при нахождении решения f(t) можно избежать вычисления этого интеграла, воспользовавшись таблицей соответствий «оригинал – изображение» (см . Диткин В.А., Прудников А.П. Операционное исчисление. 1966). Функция f = ilaplace(L) обратное преобразование Лапласа символьной скалярной функции L от независимой переменной, определяемой функцией findsym (по умолчанию s). Обратное преобразование Лапласа f является функцией переменной t (по умолчанию). Таким образом, справедлива цепочка: L = L(s) f = f(t). Если для функции L определена переменная t, т.е. f = L(t), то аргумент возвращаемой функции будет х, т.е. f = f(x). Математически обратное преобразование Лапласа в программе MATLAB выражено в c i следующих символах: f(t) = 1/2pi i L(s)e ds ,где с – действительное число. Функция sl c i f = ilaplace(L,u) заменяет аргумент возвращаемой функции (по умолчанию t) на u, т.е. c i вычисляется преобразование: f(u) = 1/2pi i L(s)e ds . su Функция f = ilaplace(L,v,u) c i заменяет аргумент исходной функции (по умолчанию s) на v, а аргумент возвращаемой функции ( по умолчанию t )- на u, т.е. вычисляется преобразование c i F(u) = 1/22pi i L(v)e vu dv . c i Пример: обратное преобразование для аргументов, используемых по умолчанию . syms L s f » l = 1/s^2; » f = ilaplace(L) f= Dirac(1,t) Аргумент исходной функции –v, аргумент возвращаемой функции - х: syms L v x f 29 » syms s real » L = s^3*v/(s^2+v^2); » f = ilaplace(L,v,x) f = s^3*cos(s*x) clear ezplot(‘s^3*cos(s*x)’,[-10 10]),grid s3 cos(s x) = 0 10 8 6 4 x 2 0 -2 -4 -6 -8 -10 -10 -5 0 s 5 10 ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ЛАПЛАСА. 35. ZTRANS . Z – преобразование . СПРАВКА: Наряду с функциями, определенными на всей вещественной прямой t, можно рассматривать функции, которые определены только в некоторых точках t 1, t2,.. Такие функции называются решетчатыми. Если рассматривать функции, определенные только в равноотстоящих точках t = nT, где n – любое целое число, а Т- постоянная, называемая периодом дискретности. Эти функции принято обозначать f [nT]. f [nT ] -3T –2T -T 0 T 2T 3 T nT Любой непрерывной функции f(t) можно поставить в соответствие некоторое множество решетчатых функций, если представить переменную t в виде t = nT + 1) . При каждом фиксированном значении переменной функцию f = (nT+T) можно рассматривать как решетчатую функцию, определенную в точках T, (+1)T,( +2)T, … Такие функции называются смещенными решетчатыми функциями. Для них принято обозначение F (nT+T) = f [nT, T ]. Изменяя переменную в пределах от нуля до единицы, можно получить множество смещенных решетчатых функций f [nT,T], соответствующих данной непрерывной функции f(t). Благодаря непрерывности функции f(t) функция f [nT, T] является непрерывной по аргументу и удовлетворяет условию f [(n-1)T, T] = f [nT, 0]. Выражение Δf [n] = f [n+1]- f [n] называется конечной разностью первого порядка решетчатой функции. Первая разность от решетчатой функции Δf [n ] называется разностью второго порядка, т.е. Δ2 f [n] = Δ f [n+1] – Δ f[n]. Разность k –го порядка решетчатой функции f[n] будет Δk f [n] = Δk –1 f [n+1] – Δk –1 f [n]. Всякое соотношение, связывающее решетчатую функцию и ее разности до некоторого порядка k, называется разностным уравнением. В задачах, связанных с решетчатыми функциями и разностными уравнениями, используется преобразование, определяемое формулой e F(g) = -gn f [ n ] , где: g = σ + j ώ – комплексная переменная. Функция F(g) определяемая n 0 этой формулой называется изображением дискретного преобразования Лапласа и обозначается F(g) = D {f[n]}. Дискретное преобразование может быть определено и для смещенных решетчатых функций в соответствии с формулой F(g, ) = D {f [n, ]} = e gn f [ n, ] , где параметр принимает значения на отрезке [0, 1] . Если в формулу D – n 0 преобразования ввести новую переменную z = eg, то такое преобразование будет называться 30 z – преобразованием и записывается формулой F (z) = z n f [ n ] . Функция n 0 F = ztrans(f) вычисляет z – преобразование символьной скалярной функции f от независимой переменной, определяемой функцией findsym (по умолчанию n). Z – преобразование F является функцией переменной z (по умолчанию). Таким образом, справедлива цепочка: f = f(n) F = F(z) . Если для функции f определена переменная z , то есть f =f (z), то аргумент возвращаемой функции будет w, т.е. F = F(w). Математически z – f(n) преобразование в программе MATLAB выражено в следующей символике:F(z) = n . n0 z Функция F = ztrans (f,v) заменяет аргумент возвращаемой Функции(по умолчанию z) на v, т. f(n) е. вычисляется преобразование F(v) = n . Функция F = ztrans (f,k,v) заменяет аргумент n0 v исходной функции (по умолчанию n) на k , а аргумент возвращаемой функции (по f (k) умолчанию z)- на v, т. е. вычисляется преобразование: F (v) = k . k 0 v Пример: вычислить z-преобразование для аргументов, используемых по умолчанию: » syms F f n » f = n^4; » F = ztrans(f) F= z*(z^3+11*z^2+11*z+1)/(z-1)^5 Аргумент исходной функции – z: syms a real » syms z » f = a^z; » f = ztrans(f) f= w/a/(w/a-1) Аргумент возвращаемой функции – w: syms a real » syms z » f = a^z; » f = ztrans(f) f= w/a/(w/a-1) Аргумент исходной функции –k, аргумент возвращаемой функции –х: syms k x » syms n real » f = exp(k*n^2)*cos(k*n); » F = ztrans(f,k,x) F= (x/exp(n^2)-cos(n))*x/exp(n^2)/(x^2/exp(n^2)^2-2*x/exp(n^2)*cos(n)+1) 36.IZTRANS . Обратное Z – преобразование. СПРАВКА, (читайте п. 35) Можно выполнить преобразование, обратное по отношению к дискретному преобразованию Лапласа. Оно определяет решетчатую функцию f[n] по заданному изображению F(g): f [n] = D –1{F(g)} (n 0);D –1 – преобразование определяется формулой 31 c ipi f(n) = 1/2pi i F(g)e gn dg (n 0) Вычисление оригиналов f[n] можно производить в z – c ipi преобразовании путем замены переменной z = e g , в символах программы MATLAB это n 1 будет: f[n] = 1/2pi i Fz (z ) z dz , n =1,2,… R –положительное число, такое, что |z| R функция Fz(z) аналитична и вне круга |z| =R . Функция f = iztrans(F) вычисляет обратное z – преобразование символьной скалярной функции А от независимой переменной, определяемой функцией findsym (по умолчанию z). Обратное Z – преобразование f является функцией переменной n (по умолчанию). Таким образом справедлива цепочка: F = F(z) f = f(n) . если для функции F определена переменная n ,т.е. F = F(n), то аргумент возвращаемой функции будет k, т.е. f = f(k). Функция f = istrans (F,k) заменяет аргумент возвращаемой функции (по умолчанию n) на k, т.е. вычисляется преобразование: f(k) = 1/2pi i F(z)z k -1 dz , k = 1,2,… |z| R Функция f = istrans(F,v,k) заменяет аргумент исходной функции (по умолчанию z) на v, а аргумент возвращаемой функции ( по умолчанию n) – на k ,т.е. вычисляется преобразование: f(k) = 1/2pi i F(v)v k -1 dv , k = 1,2,… |v|R Пример: вычислить обратное z – преобразование для аргументов, используемых по умолчанию: syms z f F » F = 2*z/(z-2)^2; » f = iztrans(F) f= 2^n*n Аргумент исходной функции – n: syms n » F = n*(n-1)/(n^2+2*n+1); » f = iztrans(F) f= (-1)^k+2*(-1)^k*k » f = (-1)^k*(1+2*k) f= (-1)^k*(1+2*k) Аргумент возвращаемой функции – k: syms z a k » F = z/(z-a); » f = iztrans(F,k) f= a^k Аргумент исходной функции –х, аргумент возвращаемой функции –k ; syms z real » syms x a » F = z/(z-a); » f = iztrans(F,x,k) f= -charfcn[0](k)*z/(-z+a) 32 ГРАФИЧЕСКИЕ И ИНТЕРАКТИВНЫЕ СРЕДСТВА. 37.EZPLOT. Построение графика символьной функции. Функция ezplot(f) строит график символьной функции f от одной переменной . Переменная должна быть объявлена символьной с помощью команды syms. Диапазон изменения переменной по умолчанию принят равным [2pi -2pi]. Функция ezplot(‘f’) и команда ezplot f строят график символьной и вещественной функции f от одной переменной. Функция ezplot(f,[xmin xmax]) строят график символьной функции f на заданном интервале изменения переменной. Функция ezplot(‘f’,[xmin xmax]) и команда ezplot f [xmin xmax] позволяют выполнить то же самое для символьной и вещественной функции. Функция ezplot(f, [ xmin xmax ], fign) и ezplot(‘f’,[xmin xmax], fign) строят графики символьной функции f на заданном интервале изменения переменной в окне с номером fign . Пример: способ вызова функции и команды ezplot позволяют построить график clear » syms x » ezplot('(2*x^2+3*x-4)/x^2',[-10 10]),grid (2 x2+3 x-4)/x2 3 2 1 0 -1 -2 -3 -4 -10 -5 0 x 5 10 38. FUNTOOL. Интерактивный графический калькулятор. Команда funtool вызывает специальный графический калькулятор для выполнения манипуляций с двумя функциями f(X) и g(X) от одной переменной. После выполнения той или иной операции замещается функция f(x). В калькуляторе имеются 3 окна, два из них предназначены для вывода графиков, а третье для управления: с четырьмя строками для записи функций f и g, переменной х и параметра а . В начальном состоянии команда funtool выводит по умолчанию графики функций : f(x) =x и g(x) = 1. При этом интервал изменения переменной х = [-2*pi, 2*pi ]. При внесении любых изменений в текстовые поля графики функций f и g перерисовываются. Имеется панель управляющих кнопок, которые позволяют выполнять операции над функциями f и g. Верхний ряд относится только к функции f(x) df/dx - символьное дифференцирование , int f - символьное интегрирование , simple f - упрощение символьных выражений , num f - выделить числитель рационального выражения , den f - выделить знаменатель рационального выражения , 1/f - заменить функцию f(x) на 1/f(x) , finv -построить обратную функцию . Операции int (f) и вычисления finv могут быть не выполнимыми, поскольку может не существовать их представления в замкнутой форме. Второй ряд выполняет операции масштабирования и сдвига функции от параметра а f+a - заменить функцию f(x) на f(x) + a , f–a - -------------------------------- f(x) – a , f*a - -------------------------------- f(x) * a , f/a - -------------------------------- f(x) / a , f^a - -------------------------------- f(x) ^ a , 33 f(x + a) - -------------------------------- f(x + a), f(x * a) - -------------------------------- f(x * a) . Третий ряд позволяет выполнять бинарные операции с функциями f(x) и g(x) f+g - заменить функцию f(x) на f(x) + g (x) , f–g - -------------------------------- f(x) – g (x) , f*g - -------------------------------- f(x) * g(x) , f/g - -------------------------------- f(x) / g(x) , f (g) - -------------------------------- f (g (x)), g = f - заменить функцию g(x) на f (x), swap - поменять местами функции g(x) и f(x) . Четвертый ряд позволяет накапливать и извлекать из памяти список использованных функций . Insert – поместить текущую функцию в список , Cycle – выполнить текущую функцию из списка , Delete – удалить активную функцию из списка , Reset – установить f,g,x,a и fxlist в начальное состояние , Help – вывести текст описания команды funtool , Demo – запустить демонстрационный пример , Close – завершить работу с калькулятором . Список функций имеет имя fxlist и по умолчанию включает ряд функций, которые можно посмотреть , нажимая кнопку Cycle . 39. RSUMS . Вычисление сумм Римана . Функция rsums(f) и команда rsums f вычисляет риманово приближение к интегралу от функции f(X) и выводит на терминал графическое окно, в котором отображается график функции, и столбцевую диаграмму площади под кривой. Горизонтальный движок управляет количеством интервалов на отрезке от 2 до 256 . Пример : x : 0.550000 syms x 1 0.9 » f = 10*x*exp(-5*x^2); 0.8 » vpa(int(f,0,1),6) 0.7 ans = 0.6 .993262 0.5 » rsums f 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 10 ПАКЕТ ПРОГРАММ. 40 БАЗОВЫЕ ОПЕРАЦИИ SYM . Формирует символьную переменную или объект. Функция s = sym(A) cоздает объект класса ‘sym’ для входного аргумента А. Если А - строка символов, то результатом будет последовательность символов. Если А – строка цифр, то результатом будет число, описываемое символьной переменной S.Если А – числовой массив, то результатом будет символьный эквивалент этого объекта. Функция х =sym(‘x’) создает символьную переменную х. Функция x = sym(‘x’,’real’) создает символьную переменную х, которая во всех операциях будет рассматриваться, как переменная принимающая только действительные значения до тех пор, пока ей не будет присвоено другое значение Например: значение комплексного числа . 34 Функция x = sym(‘x’,’unreal’) создает символьную переменную х, которая является формальной переменной без дополнительных ограничений. Операторы вида delta = sym (‘1/10’) и pi = sym (‘pi’) формируют символьное представление чисел 1/10 и pi, избегая их представления в арифметике с плавающей точкой. Функция S = sym (A, flag) преобразует числовой массив А в символьную форму, используя аргумент flag для указания символьной переменной S. Возможно задание следующих типов : ‘f’ – число с плавающей точкой; формат ‘1,F’ * 2^(e), где F – строка из 13 цифр, е – целое число ‘r’ – рациональное число; формат p/g или p*2^g, где p и g – целые числа. ‘e’ – рациональное число с оценкой погрешности представления; формат p*g^2 – r*eps/s, где p,g r и s – целые числа ‘d’ – десятичное число; формат p.g, где р – целая часть, g – мантисса; количество знаков полного числа или мантиссы определяется функциями vpa и digits Примеры: » sym(1/10,'f'’) ans = '1.999999999999a'*2^(-4) » sym(4/3,'r') ans = 4/3 » sym(3*pi/4,'e') ans = 3*pi/4-103*eps/249 » sym(4/3,'d') ans = 1.3333333333333332593184650249896 41. SYMS Формирует группу символьных объектов . Имя каждого входного аргумента должно начинаться с буквы и включать только буквы и цифры. 42. FINDSYM Составляет список символьных переменных Функция findsym(S) возвращает в алфавитном порядке все символьные переменные выражения S, отделяя их запятой. Если в выражении нет символьной переменной возвращается пустая строка. Функция findsym(S,n) возвращает n переменных, ближайших к x . Пример: » a = 1; » syms x y w t » findsym(x+i*y-j*w) ans = w, x, y 43. REAL, IMAG действительная и мнимая часть символьной переменной Для массивов символьных комплексных чисел Z функция real(Z) возвращает массив действительных чисел, функция imag(Z) – массив мнимых чисел . 44.СONJ Комплексное сопряжение элементов символьного массива Функция conj(X)возвращает комплексно – сопряженное представление символьного массива Х,т . е. для Х = real(X)+i*imag(X) ,функция conj(X) = = real (X) –i * imag(X). Пример: » syms X 35 » real (X) ans = 1/2*X+1/2*conj(X) » imag(X) ans = -1/2*i*(X-conj(X)) 45. PRETTY. Вывод символьного выражения на экран. Функция pretty(S) выводит на экран выражение S в формате близком к печати, используя длину строки 79 символов (по умолчанию), pretty(S,n) выводит выражение S используя длину строки n символов. Пример: A = sym(pascal(2)); » pretty(A) [1 1] [ ] [1 2] » B = eig(A); » pretty(B) [ 1/2] [3/2 + 1/2 5] [ 1/2] [3/2 - 1/2 5] 46. LATEX Преобразование символьного выражения в коды редактора LaTeX Пример: syms x » f = taylor (log(1 + x)); » latex (f) ans = x-1/2\,{x}^{2}+1/3\,{x}^{3}-1/4\,{x}^{4}+1/5\,{x}^{5} » H = sym(hilb(3)); » latex (H) ans = \left [\begin {array}{ccc} 1&1/2&1/3\\\noalign{\medskip}1/2&1/3&1/4\\\noalign{\medskip}1/3&1/4&1/5\end {array}\right ] 47.CCODE Запись символьного выражения на языке С Команда ccde(s) возвращает запись на языке С для выражения, записанного с использованием символьных переменных, поддерживаемых ППП Symbolic Math Toolbox. Пример: syms x » f = taylor(log(1 + x)); » ccode(f) ans = t0 = x-x*x/2.0+x*x*x/3.0-x*x*x*x/4.0+x*x*x*x*x/5.0; 48. FORTRAN Запись символьного выражения на языке Fortran (Аналогично см. п 47) Пример: syms x » f = taylor(log(1 + x)); » ccode(f) 36 ans = t0 = x-x*x/2.0+x*x*x/3.0-x*x*x*x/4.0+x*x*x*x*x/5.0; H = sym(hilb(3)); » fortran(H) ans = H(1,1) = 1 H(1,2) = 1.E0/2.E0 H(1,3) = 1.E0/3.E0 H(2,1) = 1.E0/2.E0 H(2,2) = 1.E0/3.E0 H(2,3) = 1.E0/4.E0 H(3,1) = 1.E0/3.E0 H(3,2) = 1.E0/4.E0 H(3,3) = 1.E0/5.E0 49. DOUBLE. Преобразовать символьный объект в числовой R = double(sym('(1+exp(5))/2')) R= 74.707 50.CHAR Преобразовать символьный объект в строковый Если S символьный массив, то результат возвращается в форме строки » a = sym(2*exp(2)); » b = sym((1-exp(3))^2); » T = [a b]; » char(T) ans = array([[8319337573440942*2^(-49),6408089572133487*2^(-44)]]) 51. Преобразовать вектор коэффициентов в символьный полином Функция r = poly2sym(c) возвращает символьное представление полинома, коэффициенты которого записаны в векторе с. По умолчанию переменной такого полинома является х. Функция r = poly 2sym(c,v) или r = poly 2sym(c,sym(‘v’) использует в качестве переменной v. Пример: Poly 2sym([1 1+exp(pi)2]) ans = x^2+6795000896590649/281474976710656*x+2 poly 2sym([1 0 1-1 2],'v') ans = v^3+2 52. SYM2POLY Преобразует символьный полином в вектор коэффициентов Коэффициенты упорядочены в порядке убывания степеней независимой переменной. Пример: syms x u v; » sym2 poly(x^3-2*x-5) ans = 1 0 -2 -5 » sym2 poly(u^4-3+5*u^2) ans = 1 0 5 0 -3 УПРОЩЕНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ. 53.SIMPLIFY Упростить символьное выражение Функция R = simplify(S) упрощает каждый элемент символьного массива S. Функция [r,how] = simple(S) в дополнение к основному результату выводит в качестве второго аргумента строку how, которая указывает выполненное преобразование. Пример: » simplify(sin(x)^2 + cos(x)^2) ans = 1 37 syms x y » [r,how] = simple(asin(x*(1-y^2)^1/2+y*(1-x^2)^1/2)) r= -asin(1/2*(y+x)*(y*x-1)) how = factor 54. EXPAND Раскрыть символьное выражение Эта операция чаще всего применяется к полиномам ,тригонометрическим, экспоненциальным и тригонометрическим функциям. Пример: syms t R= expand([sin(2*t),cos(2*t)]) R= [ 2*sin(t)*cos(t), 2*cos(t)^2-1] 55.FACTOR Разложить символьное выражение на простые множители. Функция factor(N) возвращает разложение числа или элементов массива в виде произведения простых множителей. Функция factor(S), где S матрица полиномов, возвращает разложение каждого элемента массива на простые множители. Пример: » syms a b » factor([a^2-b^2,a^3+b^3]) ans = [ (a-b)*(a+b), (a+b)*(a^2-a*b+b^2)] 56. COLLECT Приведение однородных членов Функция R=collect(s), где S – массив символьных полиномов, осуществляет собирание однородных членов по степеням переменной х. Функция R= collect(S,v) выполняет ту же функцию по отношению к независимой переменной. Пример: syms x y » R = collect((x+y)*(x^2+y^2+1),y) R= y^3+x*y^2+(x^2+1)*y+x*(x^2+1) 57. SIMPLE Упростить символьное выражение Функция simple(S) выполняет разные алгебраические преобразования над символьным выражением S и выводит на экран варианты укороченных выражений. Функция r = simple(S) выводит самое короткое без промежуточных результатов. Функция [r,how] = simple(S) выводит строку how, которая указывает выполненное преобразование. Пример: » [r,how] = simple(2*cos(x)^2-sin(x)^2) r= 3*cos(x)^2-1 how = simplify 58. NUMDEN Приведение символьных полиномов к рациональной форме. Функция [N,D] = numden(A) возвращает каждый элемент символьного массива в виде отношения двух не приводимых полиномов. N и D – соответственно символьные массивы числителей и знаменателей элементов массива. Пример: syms x y a b » [n,d] = numden(x/y+y/x) n= x^2+y^2 d= 38 y*x 59. HORNER Представление полинома в виде схемы Горнера Функция R = horner(P) преобразует каждый элемент символьного полиномного массива P в соответствии со схемой Горнера. Пример: horner([x^2+x;y^3-2*y]) ans = [ (1+x)*x] [ (-2+y^2)*y] 60. SUBEXPR . Записать символьное выражение с использованием подстановок Функции [Y, SIGMA] = subexpr(X,SIGMA) и [Y, SIGMA] = subexpr(X,’SIGMA’) преобразует символьное выражение Х к форме с подстановкой SIGMA, упрощающей исходное выражение. Пример: t = solve('a*x^3+b*x^2+c*x+d = 0'); » [r,s] = subexpr(t,'s') r= [1/6/a*s^(1/3)-2/3*(3*c*a-b^2)/a/s^(1/3)-1/3*b/a] [ -1/12/a*s^(1/3)+1/3*(3*c*a-b^2)/a/s^(1/3)-1/3*b/a+1/2*i*3^(1/2)*(1/6/a*s^(1/3)+2/3*(3*c*ab^2)/a/s^(1/3))] [ -1/12/a*s^(1/3)+1/3*(3*c*a-b^2)/a/s^(1/3)-1/3*b/a-1/2*i*3^(1/2)*(1/6/a*s^(1/3)+2/3*(3*c*ab^2)/a/s^(1/3))] s= 36*c*b*a-108*d*a^2-8*b^3+12*3^(1/2)*(4*c^3*a-c^2*b^218*c*b*a*d+27*d^2*a^2+4*d*b^3)^(1/2)*a 61. SUBS Подстановка значений символьных переменных Функция subs(S) заменяет свободные символьные переменные числовыми значениями либо из вызываемой функции, либо из системы MATLAB. Функция subs (S,NEW) заменяет их числовыми значениями из списка NEW. Функция subs(S,OLD,NEW) заменяет их новыми символьными переменными из массива OLD или числами из списка NEW. Чтобы предотвратить обратную подстановку, используется обращение subs(S,OLD,NEW,0). Пример: подставим из системы MATLAB в решение дифференциального уравнения Dy =-a*y: a = 980;C1 =3; » syms t » S = dsolve ('Dy = -a*y'); » subs(S) ans = 3*exp(-980*t) Однокомпонентная подстановка syms a b » subs(a+b,a,4) ans = 4+b Много компонентная подстановка subs(cos(a)+sin(b),{a,b},{sym('alpha'),pi/2}) ans = cos(alpha)+1 Подстановка матрицы вместо скаляра subs(exp(a*t),'a',-magic(2)) ans = [ exp(-t), exp(-3*t)] 39 [ exp(-4*t), exp(-2*t)] Для заметок пользователя…… 40 ЯЗЫК MATLAB Команды, функции и операторы системы MATLAB 5 Команды, функции, операторы Назначение Команды общего назначения Справочные команды help Текущая справка в командной строке helpwin Текущая справка в отдельном окне helpdesk Документация и диагностика в гипертексте demo Демонстрационные примеры ver Справка о текущей версии MATLAB whatsnew Вывод на экран файлов readme readme Новости о текущей версии MATLAB Управление рабочей областью who Список текущих переменных whos Список текущих переменных с подробностями clear Удаление переменных и функций из памяти pack Дефрагментация рабочей области памяти load Считывание переменных из МАТ-файла save Запись переменных в MAT-файл quit Завершение работы в системе MATLAB ' Управление командами и функциями what Список файлов в текущем каталоге type Просмотр текста М-файла edit Редактирование текста М-файла lookfor Поиск М-файлов по ключу which Месторасположение функций и файлов pcode Создание Р-файла псевдокода inmem Просмотр функций в рабочей памяти mex Компиляция МЕХ-функции Управление путями доступа path Определить/установить путь доступа addpath Добавить каталог к пути доступа rmpath Удалить каталог из пути доступа editpath Отредактировать путь доступа Управление командным окном echo Эхо-команда тоге Управление выводом страниц diary Ведение протокола сеанса работы format Управление форматом вывода clc Очистить командное окно home Поместить курсор в начальную позицию pause Прерывание выполнения Команды операционной системы cd Перейти в другой каталог pwd Путь доступа к текущему каталогу dIr Содержимое текущего каталога delete Удалить файл qetenv Получить значение переменной среды окружения ! Выполнить команду операционной системы dos Выполнить команду DOS и возвратить результат unix Выполнить команду ОС UNIX и возвратить результат vms Выполнить команду DCL OC VMS и возвратить результат web Подключиться к Web-серверу computer Определить тип используемого компьютера Отладка М-файлов debug Просмотреть список команд отладки 41 dbstop dbclear dbcont dbdown dbstack dbstatus dbstep dbtype dbup dbquit Профилирование М-файлов profile pareto promsum Задать контрольную точку Удалить контрольную точку Продолжить выполнение Перейти в стеке вызываемых M-функций сверху вниз Вывести стек вызываемых M-функций Просмотреть список контрольных точек Выполнить одну или несколько команд отладки Распечатать M-файл с пронумерованными строками Перейти в стеке вызываемых M-функций снизу вверх Завершить отладку Профиль времени исполнения M-файла Операторы, специальные символы, переменные и константы Арифметические операторы + plus Сложение + uplus Унарное сложение — minus Вычитание — uminus Унарное вычитание * mtimes Умножение матриц . * times Поэлементное умножение для массивов mpower Возведение матрицы в степень . power Возведение в степень для массивов \ mldivide Левое деление матриц / mrdivide Правое деление матриц .\ Idivide Левое деление для массивов ./ rdivide Правое деление для массивов kron Тензорное произведение векторов Операторы отношения = = eq Тождественно ~ = ne Не тождественно < it Меньше > qt Больше <= le Меньше или равно >= ge Больше или равно Логические операторы & and Логическое И Логическое ЙЛИ or ~ 0t Логическое НЕ xor Логическое ИСКЛЮЧИТЕЛЬНОЕ ИЛИ any Истинно, если хотя бы один элемент вектора не равен нулю all Истинно, если все элементы вектора не равны нулю Специальные символы : Сечение массива () Указание последовательности выполнения операций [] Формирование массива {} Многомерные массивы . Десятичная точка (разделитель) . Выделение поля структуры .. Указатель на каталог-родитель … Продолжение строки , Разделитель ; Подавление вывода эхо результата % Комментарий ! Вызов команды операционной системы = Присваивание ‘ Кавычка .’ transpose Транспонирование элементов массива 42 ‘ctranspose Транспонирование элементов матрицы [ , ] horzcat Объединение элементов в строку [ ; ] vertcat Объединение элементов в столбец ( ), { },. subsasgn Присваивание подмассива ( ), { },. Ссылка на подмассив subsref subsindex Индекс подмассива Операторы поразрядной обработки bitand Поразрядное И bitcmp Биты дополнения bitor Поразрядное ИЛИ bitmax Максимальное число разрядов bitxor Поразрядное ИСКЛЮЧИТЕЛЬНОЕ ИЛИ bitset Задать бит bitqet Узнать бит bitshift Поразрядный сдвиг Операторы обработки множеств union Объединение множеств unique Выделение множества intersect Пересечение множеств setdiff Разность множеств setxor ИСКЛЮЧИТЕЛЬНОЕ ИЛИ для множеств ismember Истинно, если это элемент множества Специальные переменные и константы ans Результат выполнения последней операции ерs Машинная точность realmax Наибольшее число с плавающей точкой realmin Наименьшее число с плавающей точкой i, j pi inf NaN isnan isinf isfinite flops Мнимая единица 1 p = 3.141592653589793e+000 Бесконечное значение, Нечисловое значение Истинно, если нечисловое значение Истинно, если бесконечное значение Истинно, если конечное значение Количество операций с плавающей точкой ФУНКЦИИ Массивы, матрицы и операции над ними Массивы и матрицы специального вида zeros Формирование массива нулей ones Формирование массива единиц еуе Формирование единичной матрицы repmat Формирование многомерного массива на основе данного rand Формирование массива элементов, распределенных по равномерному закону randn Формирование массива элементов, распределенных по нормальному закону linspace Формирование линейного массива равноотстоящих узлов logspace Формирование узлов логарифмической сетки meshqrid Формирование узлов двумерной и трехмерной сеток : Формирование векторов и подматриц Характеристики массивов size Размер массива length Длина вектора ndims Количество размерностей массива isempty Истинно, если массив пустой isegual Истинно, если два массива идентичны isnumeric Истинно, если. массив числовой 43 isloqical logical Операции над матрицами reshape diag tril triu fliplr flipud flipdim rot 90 find end sub2ind ind2sub Специальные матрицы compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander Истинно, если массив логический Преобразовать числовые элементы в логические Преобразование размеров матрицы Формирование или извлечение диагоналей матрицы Формирование нижней треугольной матрицы Формирование верхней треугольной матрицы Отражение матрицы относительно вертикальной оси Отражение матрицы относительно горизонтальной оси Отражение многомерной матрицы относительно указанной размерности Поворот матрицы на 90 Определить индексы ненулевых элементов Последний индекс многомерной матрицы Преобразование линейной индексации в многомерную Преобразование многомерной индексации в линейную Сопровождающая матрица Пакет тестовых матриц Матрица Адамара Матрица Ганкеля Матрица Гильберта Матрица, обратная матрице Гильберта Магический квадрат Матрица Паскаля Матрица Peccepa Матрица Теплица Матрица Вандермонда wilkinson Матрица Уилкинсона Математические функции Тригонометрические функции sin Синус sinh Гиперболический синус asin Арксинус asinh Гиперболический арксинус cos Косинус cosh Гиперболический косинус acos Арккосинус acosh Гиперболический арккосинус tan Тангенс tanh Гиперболический тангенс atan Арктангенс atan2 Арктангенс от двух аргументов atanh Гиперболический арктангенс sес Секанс sech Гиперболический секанс asec Арксеканс asech Гиперболический арксеканс csc Косеканс csch Гиперболический косеканс acsc Арккосеканс acsch Гиперболический арккосеканс соt Котангенс coth Гиперболический котангенс acot Арккотангенс acoth Гиперболический арккотангенс Трансцендентные функции exp Экспоненциальная функция log Функция натурального логарифма Log 10 Логарифм по основанию 10 Log 2 Логарифм по основанию 2 44 pow2 Экспонента по основанию 2 sgrt Функция квадратного корня nextpow2 Ближайшая степень экспоненты по основанию 2 Функции обработки комплексных чисел abs Абсолютное значение комплексного числа angle Аргумент комплексного числа соnj Комплексно-сопряженное число imag Мнимая часть комплексного числа real Действительная часть комплексного числа unwrap Непрерывная функция фазового угла isreal Истинно, если это массив действительных чисел cplxpair Сортировка комплексно-сопряженных пар Округление и модульная арифметика fix Усечение дробной части числа floor Округление до меньшего целого ceil Округление до большего целого round Округление до ближайшего целого mod Остаток от деления с учетом знака rem Остаток в смысле модульной арифметики sign Знак числа Специальные математические функции airy Функция Эйри besselj Функция Бесселя первого рода bessely Функция Бесселя второго рода besselh Функция Бесселя третьего рода (функция Ганкеля) besseli Модифицированная функция Бесселя первого рода besselk Модифицированная функция Бесселя второго рода beta Полная бета-функция betainc Неполная бета-функция betaln Натуральный логарифм полной бета-функции ellipj Эллиптические функции Якоби ellipke Полные эллиптические интегралы erf Функция ошибки erfc Остаточная функция ошибки erfcx Масштабированная остаточная функция ошибки erfinv Обратная функция ошибки expint Показательная интегральная функция gаmmа Полная гамма-функция gammainc Неполная гамма-функция qammaln Натуральный логарифм полной гамма-функции legendre Функция Лежандра cross Векторное произведение векторов Теоретико-числовые функции factor Разложение числа на простые множители isprime Истинно, если число простое primes Формирование списка простых чисел gcd Наибольший общий делитель Icm Наименьшее общее кратное rat Приближение числа в виде рациональной дроби rats Вычисления в поле рациональных чисел perms Вычисление числа перестановок, Pn Вычисление числа сочетаний, С n Функции преобразования систем координат cart2sph Преобразование декартовой системы в сферическую cart2pol Преобразование декартовой системы в полярную pol2cart Преобразование полярной системы в декартову sph2cart Преобразование сферической системы в декартову hsv2rqb Преобразование hsy-палитры в rgb-палитру rgb2hsv Преобразование rgb-палитры в hsv-палитру Линейная алгебра nchoosek k 45 Матричный анализ norm Вычисление норм векторов и матриц rank Вычисление ранга матрицы det Вычисление определителя матрицы trace Вычисление следа матрицы null Вычисление нуль-пространства матрицы orth Вычисление ортонормального базиса матрицы rref Приведение к треугольной форме subspace Вычисление угла. между подпространствами Решение систем линейных уравнений \и/ Решатели систем уравнений inv Вычисление обратной матрицы cond Вычисление числа обусловленности по отношению к задаче обращения матрицы chol Разложение Холецкого cholinc Неполное разложение Холецкого lu LU-разложение luinc Неполное LU-разложение qr QR-разложение nnls Метод наименьших квадратов с ограничениями pinv Псевдообращение по Mуpy - Пенроузу iscov Метод наименьших квадратов в присутствии шумов Собственные значения и сингулярные числа eiq Полная проблема собственных значений svd Сингулярное разложение eiqs Вычисление отдельных собственных значений svds Вычисление отдельных сингулярных чисел poly Вычисление характеристического полинома polyeig Решение полиномиальных матричных уравнений Вычисление числа обусловленности по отношению к задаче на собственные condeig значения hess Приведение матрицы к форме Хессенберга qz Обобщенная проблема собственных значений schur Приведение матрицы к форме Шура Вычисление функций от матриц expm Вычисление матричной экспоненты logm Вычисление логарифма матрицы sgrtm Вычисление функции А1/2 funm Вычисление произвольных функций от матриц Утилиты qrdelete Удалить столбец из QR-разложения qrinsert Добавить столбец в QR-разложение rsf2csf Преобразование действительной формы Шура в комплексную cdf2rdf Преобразование комплексной формы Шypa в действительную balance Масштабирование матрицы planerot Формирование матрицы вращения Гивенса Полиномы и операции над ними polyval Вычисление полинома polyvalm Вычисление матричного полинома poly Вычисление характеристического полинома residue Разложение на простые дроби roots Вычисление корней полинома polyfit Аппроксимация данных полиномом polyder Вычисление производной полинома conv Умножение полиномов deconv Деление полиномов Анализ данных и преобразование Фурье Базовые операции max Максимальный компонент массива min Минимальный компонент массива mean Компонент средних значений массива median Компонент срединных значений массива 46 std Компонент стандартных отклонений массива sort Сортировка по возрастанию sortrows Сортировка строк по возрастанию sum Суммирование элементов массива prod Произведение элементов массива cumsum Суммирование с накоплением cumprod Произведение с накоплением Численное интегрирование cumtrapz Численное интегрирование методом трапеций с накоплением trapz Численное интегрирование методом трапеций quad Численное интегрирование методом квадратур quad8 Численное интегрирование методом Ньютона - Котеса dblquad Вычисление двойного интеграла Вычисление минимумов и нулей функций fmin Минимизация функции одной переменной fmins Минимизация функции нескольких переменных fzero Нахождение нулей функции одной переменной Аппроксимация и интерполяция данных interp1 Одномерная табличная интерполяция interp1g Быстрая одномерная интерполяция interp2 Двумерная табличная интерполяция interp3 Трехмерная табличная интерполяция interyn N-мерная табличная интерполяция interpft Аппроксимация периодической функции grlddata Интерполяция на неравномерной сетке ppval Аппроксимация кусочно-гладкими полиномами spline Интерполяция кубическим сплайном Геометрический анализ данных delaunay Триангуляция Делоне dsearch Триангуляция Делоне для ближайшей точки tsearch Поиск наилучшей триангуляции convhull Вычисление выпуклой оболочки voronoi Вычисление диаграммы Вороного inpolyqon Истинно, если точка внутри полигона rectint Область пересечения прямоугольника polyarea Область многоугольника Вычисление конечных разностей diff Аппроксимация производных конечными разностями gradient Вычисление градиента функции del2 Аппроксимация Лапласиана Корреляционный анализ corrcoef Вычисление коэффициентов корреляции cov Вычисление матрицы ковариаций Преобразования Фурье fft Одномерное дискретное преобразование Фурье fft2 Двумерное дискретное преобразование Фурье fftn N-мерное дискретное преобразование Фурье ifft Обратное одномерное преобразование Фурье ifft2 Обратное двумерное преобразование Фурье ifftn Обратное N-мерное преобразование Фурье fftshift Сдвиг постоянной составляющей в центр спектра Свертка и фильтрация filter Дискретная одномерная фильтрация filter2 Дискретная двумерная фильтрация conv Свертка одномерных массивов conv2 Свертка двумерных массивов convn Свертка N-мерных массивов deconv Операция, обратная свертке (деление полиномов) Звуковое воспроизведение sound Озвучить одномерный массив чисел soundsc Масштабировать и озвучить одномерный массив чисел 47 mu2lin Преобразование -кодированного сигнала в линейный lin2mu Преобразование линейного сигнала в -кодированный Решение обыкновенных дифференциальных уравнений (ОДУ) Решатели ОДУ ode113 Нежесткие ОДУ, метод переменных состояний ode15s Жесткие ОДУ, метод переменных состояний ode23 Нежесткие ОДУ, метод низкого порядка ode23s Жесткие ОДУ, метод Рунге - Кусты 3-го порядка ode45 Нежесткие ОДУ, метод Рунге – Кусты 4-го порядка odefile Описание системы ОДУ Дескрипторная поддержка опций решателя odeset Создать/изменить опции решателя odeget Получить опции решателя Формирование выходов решателя odeplot Формирование процессов как функций времени odephas2 Двумерная фазовая плоскость odephas3 Трехмерная фазовая плоскость odeprint Командное окно вывода на печать Работа с разреженными матрицами Элементарные разреженные матрицы sparse Формирование разреженной матрицы speye Единичная разреженная матрица Случайная разреженная матрица с элементами, распределенными по равномерному sprand закону Случайная разреженная матрица с элементами, распределенными по нормальному sprandn закону sprandsym Случайная разреженная симметрическая матрица spdiags Формирование диагоналей разреженной матрицы Характеристики разреженных матриц normest Оценка 2-нормы разреженной матрицы condest Оценка числа обусловленности по 1-норме sprank Вычисление структурного ранга Преобразование разреженных матриц full Преобразование разреженной матрицы в полную find Определение индексов ненулевых элементов spconvert Восстановление разреженной матрицы из внешнего ASCII-формата Работа с ненулевыми элементами nnz Количество ненулевых элементов nonzeros Формирование вектора ненулевых элементов nzmax Количество ячеек памяти для размещения ненулевых элементов spones Формирование матрицы связности spalloc Выделить память для разреженной матрицы issparse Истинно, если матрица разреженная spfun Вычисление функции только для ненулевых элементов Операции над графом разреженной матрицы etree Вычисление дерева структуры etreeplot Построение дерева структуры treelayout Разметка дерева структуры treeplot Построение дерева структуры Алгоритмы упорядочения colmmd Упорядочение по разреженности столбцов symmmd Симметрическая упорядоченность symrcm RCM-упорядоченность colperm Упорядочение столбцов с учетом их разреженности randperm Формирование случайных перестановок dmperm DM-декомпозиция разреженной матрицы Решение систем уравнений с разреженными матрицами pcg Метод сопряженных градиентов bicg Двунаправленный метод сопряженных градиентов bicgstab Устойчивый двунаправленный метод 48 cgs Квадратичный метод сопряженных градиентов gmres Метод минимизации обобщенной невязки gmr Квазиминимизация невязки Визуализация разреженных матриц gplot Построение графа структуры spy Визуализация структуры разреженной матрицы Вспомогательные операции spparms Установка параметров для алгоритмов обработки symbfact Характеристики разложения Холецкого spaugment Формирование расширенной матрицы для метода наименьших квадратов Элементарная графика Двумерные графики lot График в линейном масштабе loglog График в логарифмическом масштабе semilogx График в полулогарифмическом масштабе по оси х semilogy График в полулогарифмическом масштабе по оси у polar График в полярных координатах plotyy График с двумя вертикальными осями Трехмерные графики plot3 Построение линий и точек в трехмерном пространстве contour Изображение линий уровня для трехмерной поверхности contourc Формирование массива описания линий уровней сontour3 Изображение трехмерных линий уровня meshgrid Формирование двумерных массивов Х и Y mesh Трехмерная сетчатая поверхность meshc Трехмерная сетчатая поверхность с проекцией линий постоянного уровня meshz Трехмерная сетчатая поверхность с плоскостью отсчета на нулевом уровне surf Затененная сетчатая поверхность surfc Затененная сетчатая поверхность с проекцией линий постоянного уровня surfl Затененная сетчатая поверхность с подсветкой Задание осей координат axis Масштабирование и вывод осей координат grid Управление выводом сетки hold Управление режимом сохранения графического окна subplot Разбиение графического окна zoom Изменение масштаба в графическом окне Управление цветом caxis Установление соответствия между палитрой цветов и масштабированием осей colormap Палитра цветов colstyle Выделить цвет и стиль для графика из заданного массива pcolor Палитра псевдоцветов rgbplot Изображение палитры spinmap Вращение палитры hsv2rqb Преобразование hsy-палитры в rgb-палитру rgb2hsv Преобразование rgb-палитры в hsy-палитру shading Затенение поверхностей brighten Управление яркостью contrast Палитра серого с повышенной контрастностью hidden Управление удалением невидимых линий whitebg Управление цветом фона Палитры цветов hsv Палитра радуги hot Палитра с чередованием черного, красного, желтого и белого qray Линейная палитра в оттенках серого bone Серая палитра с оттенком синего copper Линейная палитра в оттенках меди pink Розовая палитра с оттенками пастели white Палитра белого flag Палитра с чередованием красного, белого, синего и черного lines Палитра, определяемая свойством ColorOrder colorcube RGB-палитра с оттенками серого 49 jet prlsm Разновидность hsy-палитры Палитра с чередованием красного, оранжевого, желтого, зеленого, синего и фиолетового Палитра с оттенками голубого и фиолетового Палитра с оттенками красного и желтого Палитра с оттенками желтого и фиолетового Палитра с оттенками голубого и зеленого Палитра с оттенками желтого и зеленого cool autumn spring winter summer Управление подсветкой diffuse Эффект диффузного рассеяния lightinq Управление подсветкой material Эффект рассеяния материала поверхности specular Эффект зеркального отражения surfnorm Построение нормалей к поверхности Управление углом просмотра view Управление положением точки просмотра viewmtx Вычисление матрицы управления углом просмотра rotate3d Интерактивные повороты трехмерного объекта Надписи и пояснения к графикам xlabel Обозначение оси x ylabel Обозначение оси у zlabel Обозначение оси z clabel Маркировка линий уровня colorbar Шкала палитры title Заголовок графика text Добавление к текущему графику текста gtext Размещение текста на графике с помощью мыши legend Пояснение к графику Создание твердой копии и сохранение графика orient Размещение твердой копии на странице print Вывод графика на печать или в файл printopt Задание опций печати по умолчанию Двумерные графики area Закраска областей графика bar Столбцовая диаграмма barh Столбцовая диаграмма с горизонтальным расположением comet Движение точки по траектории compass График векторов-стрелок, исходящих из начала координат errorbar График с указанием интервала погрешности ezplot Построение графиков с использованием диалогового окна feather График векторов-стрелок, исходящих из равноотстоящих точек горизонтальной оси fill Закраска многоугольников hist Построение гистограммы pareto График результатов профилирования программы pie Круговая диаграмма plotmatrix График матрицы quiver График поля направлений ribbon Изображение линий на трехмерном графике stairs Ступенчатый график stem График дискретных значений Трехмерная графика barЗ Трехмерная столбцовая диаграмма barЗh Трехмерная столбцовая диаграмма с горизонтальным расположением comet3 Движение точки по траектории в трехмерном пространстве contourf График линий уровня с раскрашенными областями fill3 Раскраска многоугольников в трехмерном пространстве pie3 Секторная диаграмма quiver3 График поля направлений в трехмерном пространстве slice Сечения функции от трех переменных stem3 График дискретных значений в трехмерном пространстве trimesh Трехмерная поверхность с треугольными ячейками 50 trisurf Трехмерная сетчатая поверхность с треугольными ячейками waterfall Трехмерная поверхность без прорисовки ребер сетки Работа с графическими образами image Вывод графического образа imaqesc Масштабирование и вывод графического образа imfinfo Информация о структуре графического файла Анимационные возможности capture Захват графической фигуры getframe Создать фрейм для анимации moviein Выделить память под фреймы анимации movie Выполнить анимацию rotate Вращение графического объекта frame2im Преобразование фрейма в графический образ im2frame Преобразование графического образа во фрейм Объемные графические объекты patch Закрашенный многоугольник cylinder Выполнить расчет цилиндра sphere Выполнить расчет сферы графика Дескрипторная графика Создание и управление графическим окном figure Открыть графическое окно (команда) qcf Получить дескриптор графического объекта figure clf Очистить графическое окно shy Показать графическое окно (для совместимости с версией 3.5) close Закрыть графическое окно refresh Обновить графическое окно Создание осей координат и управление ими axes Создать оси координат (команда) box Окружить оси прямоугольником или параллелепипедом cla Очистить оси координат qca Получить дескриптор графического объекта axes hold Сохранить оси координат ishold Истинно, если оси координат сохранены Объекты дескрипторной графики figure Графический объект figure axes Графический объект axes line Графический объект line text Графический объект text patch Графический объект patch surface Графический объект surface image Графический объект image light Графический объект light uicontrol Графический объект uicontrol uimenu Графический объект uimenu Операции над графическими объектами set Установить свойства графического объекта qet Получить свойства графического объекта reset Восстановить штатные значения свойств delete Удалить графический объект qco Получить дескриптор текущего объекта gcbo Получить дескриптор повторно вызываемого объекта qcbf Получить дескриптор повторно вызываемого графического окна drawnow Выполнить очередь задержанных графических команд findobj Найти объекты с заданными свойствами copyobj Скопировать сам объект и порожденные им графические объекты Утилиты closereq Запрос на закрытие графического окна ishandle Истинно, если это дескриптор newplot Восстановление штатных значений свойства NextPlot 51 Графический интерфейс пользователя (GUI) Функции GUI uicontrol Создать управляющий элемент (команда) uimenu Создать меню (команда) ginput Съем координат с помощью мыши dragrect Переместить прямоугольник с помощью мыши rbbox Растянуть прямоугольник с помощью мыши selectmoveresize Выбор, перемещение, изменение размеров, копирование объектов с помощью мыши waitforbuttonpress Ожидание нажатия клавиши клавиатуры или мыши в поле графического окна waitfor Прекратить выполнение в ожидании события uiwait Прекратить выполнение в ожидании возобновления uiresume Возобновить выполнение после блокировки Средства проектирования GUI guide Редактирование управляющих элементов в графическом окне align Выравнять положение объектов cbedit Изменить повторный вызов объекта menuedit Изменить меню графического окна propedit Изменить свойства объекта Диалоговые панели dialog Создание панели сообщений dialog Создание графического окна диалога axlimdlg Ограничение размеров окна диалога errordlg Диалоговая панель сообщений об ошибках helpdlg Диалоговая панель подсказки inputdlg Диалоговая панель ввода listdlg Диалоговая панель просмотра списка menu Меню диалогового ввода msgbox Создание панели сообщений questdlg Диалоговая панель с вопросом warndlg Диалоговая панель предупреждения uiqetfile Стандартная диалоговая панель открытия файла uiputfile Стандартная диалоговая панель записи файла uisetcolor Стандартная диалоговая панель выбора цвета uisetfont Стандартная диалоговая панель выбора шрифта pagedlg Диалоговая панель расположения страницы printdlg Диалоговая панель печати waitbar Панель ожидания Создание меню makemenu Создать структуру меню menubar Установить штатные значения свойства MenuBar umtoggle Изменить статус checked объекта uimenu winmenu Создать подменю для пункта меню Window Создание кнопок инструментальной панели btngrouр Создать кнопку на инструментальной панели btnstate Запросить состояние кнопки btnpress Управление кнопками инструментальной панели btndown Нажать кнопку btnup Отпустить кнопку Утилиты задания свойств объектов figure и axes setuprop Задать свойство getuprop Запросить значение свойства clru prop Удалить свойство Вспомогательные утилиты allchild Запросить все порожденные объекты hidegui Скрыть-раскрыть GUI edtext Интерактивное редактирование объекта text qetstatus Запросить свойства строки объекта figure setstatus Установить свойства строки объекта figure popupstr Запросить свойства строки выпадающего меню 52 remapfig setptr getptr overobj Изменить расположение объекта figure Установить указатель на объект figure Запросить указатель на объект figure Запросить дескриптор объекта по его указателю Обработка строк Основные функции blanks Сформировать строку пробелов cellstr Преобразовать массив символов в массив ячеек для строк char Сформировать массив символов deblank Удалить пробелы в конце строки double Преобразовать символы строки в числовые коды Проверка строк ischar Истинно, если это массив символов (строка) iscellstr Истинно, если это массив ячеек для строк isletter Истинно, если это символ алфавита isspace Истинно. если это пробел Операции над строками strcat Горизонтальное объединение строк strvcat Вертикальное объединение строк strcmp Сравнить строки strncmp Сравнить n символов строк findstr Найти заданную строку в составе другой строки strjust Выравнять массив символов strmatch Найти все. совпадения strrep Заменить одну строку другой strtok Найти часть строки, ограниченную разделителями upper Перевести все символы строки в верхний регистр lower Перевести. все символы строки в нижний регистр Преобразования строк num2str Преобразование числа в строку int2str Преобразование целого в строку mat2str Преобразование матрицы в строку str2mat Объединение строк в матрицу str2num Преобразование строки в арифметическое выражение и его вычисление sprintf Записать форматированные данные в виде строки sscanf Прочитать строку с учетом формата Преобразования систем счисления hex2num Преобразовать шестнадцатеричное число в число удвоенной точности hex2dec Преобразовать шестнадцатеричное число в десятичное число dec2hex Преобразовать десятичное число в шестнадцатеричное число bin2dec Преобразовать двоичную строку в десятичное число dec2bin Преобразовать десятичное число в двоичную строку base2dec Преобразовать В-строку в десятичное число dec2base Преобразовать десятичное число в В-строку Операции ввода/вывода файлов Открытие и закрытие файлов fopen Открыть файл fclose Закрыть файл Двоичные файлы fread Прочитать двоичные данные из файла fwrite Записать двоичные данные в файл Форматированные файлы fscanf Прочитать форматированные данные из файла fprintf Записать форматированные данные в файл fgetl Прочитать строку файла, удалив символ конца строки fgets Прочитать строку файла, сохранив символ конца строки input Интерактивный ввод Позиционирование файла 53 ferror Запросить информацию об ошибке ввода/вывода feof Проверить признак конца файла fseek Установить указатель в заданную позицию ftell Запросить позицию указателя в файле frewind Установить указатель в начало файла Работа с каталогами matlabroot Имя каталога, где размещена система MATLAB matlabrc Список путей доступа path Управление списком путей доступа addpath Добавить путь доступа к списку editpath Отредактировать список путей доступа filesep Разделитель каталогов для данной платформы pathsep Разделитель путей доступа для данной платформы mexext Расширение MEX-файлов для данной платформы fullfile Построить полное имя файла из частей partialpath Разбить путь доступа на части tempdir Запросить имя временного каталога tempname Запросить имя временного файла Импорт-экспорт файлов load Прочитать переменные из MAT-файла save Записать переменные в МАТ-файл csvread Преобразовать файл, элементы которого разделены запятыми, в массив csvwrite Преобразовать массив в файл, элементы которого разделены запятыми dlmwrite Преобразовать массив в файл с ASCII-разделителем dlmread Преобразовать файл с ASCII-разделителем в массив wk1read Прочитать файл электронной таблицы Lotus123 wk1write Записать файл в электронную таблицу Lotus123 Импорт/экспорт графических образов imread Считать графический образ из файла imwrite Записать графический образ в файл Импорт/экспорт звуковых файлов wavwrite Записать звуковой файл wav wavread Считать звуковой файл wav Время и даты Текущее время и дата clock date now Основные функции datenum datestr datevec calendar weekday eomday datetick cputime tic toc etime Текущее время и дата в форме вектора Текущая дата в форме строки Текущее время и дата в форме числа Последовательный номер даты с 01-Jan-0000 Строковое представление даты Векторное представление даты Календарь текущего месяца День недели Последний день месяца Форматирование меток осей датой Время работы центрального процессора в. секундах Начало отсчета Конец отсчета Интервал использованного времени Типы данных и структур Многомерные массивы cat ndims ndgrid permute ipermute shiftdim Объединить массивы Размерность массива Сгенерировать сетку для многомерной функции Перестановка размерностей массива Обратная перестановка размерностей массива Изменить размерность массива 54 squeeze Массивы ячеек cell celldisp cellplot deal iscell cell2struct num 2cell struct2cell Массивы записей struct fieldnames getfield setfield rmfield isfield isstruct Удалить одну из размерностей Создать массив ячеек Показать содержимое массива ячеек Показать графическую структуру массива ячеек Установить соответствие входов с выходами Истинно, если это массив ячеек Преобразовать массив ячеек в массив структур Преобразовать числовой массив в массив ячеек Преобразовать массив структур в массив ячеек Создать массив Записей Получить имена полей Получить содержимое полей Установить содержимое полей Удалить поле Истинно, если это поле массива записей Истинно, если это массив записей Классы объектов и программирование Классы объектов cell Создать массив ячеек char Создать массив символов double Преобразовать в массив чисел удвоенной точности sparse Создать разреженную матрицу struct Создать массив записей inline Создать объект inline uint8 Преобразовать в 8-битовое целое без знака Объектно-ориентированное программирование class Создать объект или возвратить класс объекта methods Показать методы данного класса isa Истинно, если объект принадлежит данному классу isobject Истинно, если это объект inferiorto Отношение низшего класса superiorto Отношение высшего класса Переопределение методов minus Переопределить метод для а — b plus Переопределить метод для а,+ b times Переопределить метод для а. * b mtimes Переопределить метод для а * b mldivide Переопределить метод для a \ b mrdivide Переопределить метод для а / Ь rdivide Переопределить метод для а. / b Idivide Переопределить метод для а.\ b power Переопределить метод для а. ^ Ь mpower Переопределить метод для а^ Ь uminus Переопределить метод для –a uplus Переопределить. метод для +а horzcat Переопределить метод для [а b] vertcat Переопределить метод для [а; b] le Переопрёделить метод для а <= Ь It Переопределить метод для а < b gt Переопределить метод для а > b ge Переопределить метод для а = Ь eq Переопределить метод для a==b nе Переопределить метод для а =b not Переопределить метод для а and Переопределить метод для a b or Переопределить метод для alb subsasgn Переопределить метод для a(i)=b, a{i}=b, а.field=b 55 subsref colon transpose ctranspose subsindex Переопределить метод для a(i}, а{i},.а. field Переопределить метод для а:b Переопределить метод для а.’ Переопределить метод для а' Переопределить метод для х(а) Динамический обмен данными (DDE) Функции клиента ddeadv ddeexec ddeinit ddepoke ddereq ddeterm ddeunadv Установить консультативную связь Послать строку на выполнение Инициировать DDE-диалог Послать данные в приложение Запросить данные от приложения Завершить DDE-диалог Завершить консультативную связь Команды ППП Notebook Команды Define Input Cell Define Autolnit Cell Define Calc Zone Undefine Сells Purqe Output Cells GroupCells Unqroup Cells Hide/Show Zone Cell Markers Toggle Graph Output for Cell Evaluate Cell Evaluate Calc Zone Evaluate М-book Evaluate Loop Brinq MATLAB to Front Notebook Options Numeric Format: Short Long Hex Bank PIus Short e Long e Rational Compact Loose Figure Options: Embed Figures in M-book Use 16-Color Figures Units: Inches Centimeters Points Stop evaluating on error Назначение Создать ячейку ввода Создать ячейку автостарта Создать зону вычисления Преобразовать ячейки в текст Удалить ячейки вывода Создать многострочную ячейку ввода Преобразовать группу ячеек в ячейки ввода Скрыть/показать маркеры ячейки Запретить/разрешить вывод графики Вычислить ячейку Вычислить зону Вычислить М-книгу Вычислить ячейки ввода в цикле Вынести командное окно MATLAB на передний план Управление выводом на терминал результатов вычислений в М-книге Управление форматом вывода чисел: короткое число длинное число шестнадцатеричное число коммерческий формат символьный формат короткое число (экспоненциальная форма) длинное число (экспоненциальная форма) формат рационального числа подавление пробелов между строками восстановление пробелов между строками Управление выводом графики: помещать рисунок в М-книгу выбор 16- или 256-цветной палитры Единица измерения: дюйм сантиметр пункт Контроль при вычислении множественных ячеек Команды и функции ППП Symbolic Mathematics Toolbox Команды, функции Базовые операции sym Назначение Сформировать символьную переменную или объект 56 syms Сформировать группу символьных объектов findsym Составить список символьных переменных real, imag Действительная и мнимая части символьной переменной conj Комплексное сопряжение элементов символьного массива pretty Вывод символьного выражения на экран latex Преобразование символьного выражения в коды редактора LaTeX ccode Запись символьного выражения на языке С fortran Запись символьного выражения на языке Fortran Преобразование символьных объектов double Преобразовать символьный объект в числовой char Преобразовать символьный объект в строковый poly2sym Преобразовать вектор коэффициентов в символьный полином аут 2роlу Преобразовать символьный полином в вектор коэффициентов Арифметика переменной точности digits Установить количество значащих цифр результата vра Вычислить в арифметике с переменной точностью Упрощение математических выражений simplifi Упростить символьное выражение expand Раскрыть символьное выражение factor Разложить символьное выражение на простые множители collect Приведение однородных членов simple Упростить символьное выражение numden Приведение символьных полиномов к рациональной форме horner Представление полинома в виде схемы Горнера subexpr Записать символьное выражение с использованием подстановок subs Подстановка значений символьных переменных Математический анализ limit Предел функции одной переменной diff Дифференцирование функции одной переменной int Интегрирование функции одной переменной symsum Суммирование рядов taylor Разложение функции в ряды Тейлора и Маклорена jacobian Вычисление якобиана функции Суперпозиция, обращение функций и решение уравнений compose Суперпозиция функций finverse Вычисление обратной функции solve Символьное решение уравнений и систем уравнений dsolve Символьное решение уравнений и систем ОДУ Работа с символьными массивами и матрицами + Сложение Вычитание * Умножение матриц .* Умножение массивов \ Решение систем линейных уравнений AX = В .\ Левое деление массивов / Решение систем линейных уравнений ХА = В ./ Правое деление массивов ^ Степень матрицы .^ Степень массива ‘ Транспонирование матрицы .’ Транспонирование массива Линейная алгебра det Определитель матрицы poly Характеристический полином матрицы diag Формирование или извлечение диагоналей матрицы tril Формирование нижней треугольной матрицы (массива) triu Формирование верхней треугольной матрицы (массива) rref Приведение целочисленной матрицы к верхней треугольной форме rank Ранг целочисленной матрицы colspace Базис пространства столбцов целочисленной матрицы null( Нуль-пространство целочисленной матрицы 57 inv Обращение символьной или целочисленной матрицы svd Сингулярное разложение символьной или целочисленной матрицы eig Собственные значения и собственные векторы символьной матрицы jordan Каноническая форма Жордана символьной матрицы expm Матричная экспонента Специальные функции cosint, sinint Функции интегрального косинуса и синуса lambertw W-функция Ламберта zeta Дзета-функция Римана Интегральные преобразования fourier Преобразование Фурье ifourier Обратное преобразование Фурье laplace Преобразование Лапласа ilaplace Обратное преобразование Лапласа ztrans Z-преобразование iztrans Обратное Z-преобразование Графические и интерактивные средства ezplot Построение графика символьной функции funtool Интерактивный графический калькулятор rsums Вычисление сумм Римана 58