Материал: MATLAB2

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Пример 3.4. Варианты задания аргументов для гиперболических функций и результаты их выполнения приведены в табл. 3.17.

5. Функции округления и знака. Ряд особых функций (табл. 3.18) служат для выполнения операций округления числовых данных и анализа их знака.

Таблица 3.18

Наимено-вание

Назначение

fix(A)

Массив А с элементами, округленными до ближайшего к нулю целого числа. Для комплексного А действительные и мнимые части округляются отдельно

floor(A)

Массив А с элементами, представляющими ближайшее меньшее или равное соответствующему элементу А целое число. Для комплексного А действительные и мнимые части преобразуются отдельно

rem(X, Y)

X – fix(X./Y).*Y, где fix(X./Y) – целая часть от частного X./Y

ceil(A)

Ближайшее большее или равное А целое число. Для комплексного А действительные и мнимые части округляются отдельно

round(X)

Округленные до ближайшего целого элементы массива X. Для комплексного X действительные и мнимые части округляются отдельно

sign(X)

Массив Y той же размерности, что и X, где каждый из элементов Y равен:

1, если соответствующий элемент X больше 0;

0, если соответствующий элемент X равен 0;

–1, если соответствующий элемент X меньше 0.

Для ненулевых действительных и комплексных X – sign(X)=X./abs(X)

Таблица 3.19

Варианты матриц

Результаты операций

»А = [1/3 2/3; 4.99 5.01]

A =

0.3333 0.6667

4.9900 5.0100

»fix(A)

ans =

0 0

4 5

»floor(А)

ans =

0 0

4 5

»ceil(A)

ans =

1 1

5 6

»X = [1 23]

X =

1 23

»Y = [–1.6308]

Y =

–1.6308

»sign(X)

ans =

1 1

»round(Y)

ans =

–2

»rem(X, Y)

ans =

1.0000 0.1693

Примеры операций приведены в табл. 3.19.

    1. Матричные функции

Весьма представителен в Matlab набор матричных функций:

  • expm(X) возвращает от матрицы X (табл. 3.20). Комплексный результат получается, если X имеет неположительные собственные значения. Функция expm является встроенной и использует разложение Паде. Ее вариант располагается в виде m-файла «expm1.m». Второй метод вычисления матричной экспоненты использует разложение Тейлора и находится в файле «expm2.m». Реализация третьего способа вычисления матричной экспоненты находится в файле «expm3.m» и использует спектральное разложение матрицы А. Этот метод неудачен, если входная матрица не имеет полного набора

линейно независимых собственных векторов;

Таблица 3.20

Матрица

Операция

Матрица

Операция

»X = [1 2; 4 5]

X =

1 2

4 5

»expm(X)

ans =

136.1004 185.0578

370.1155 506.2159

»X = [1 2;4 5]

X =

1 2

4 5

»[Y, esterr] = funm(X, @sqrt)

Y =

0.5373 + 0.5373i 0.7339 – 0.1967i

1.4679 – 0.3933i 2.0052 + 0.1440i

esterr =

9.5688e–016

  • funm(X, @function) возвращает любую функцию от квадратной матрицы X, если правильно ввести имя, составленное из латинских букв. Команды funm(X, @exp), funm(X, @sqrt), funm(X, @log), Hexpm(X), sqrtm(X), logm(X) вычисляют одинаковые функции, но используют соответственно разные алгоритмы. Однако предпочтительнее использовать ехрm(Х), sqrtm(X), logm(X). Операция [Y, esterr] = funm(X, @function) не выдает никакого сообщения, но кроме результата вычислений в матрице Y возвращает грубую оценку относительной погрешности результата вычислений funm в esterr (табл. 3.20). Если матрица X – действительная симметрическая или комплексная эрмитова, то ее форма Шура диагональна и полученный результат может иметь высокую точность;

  • logm(X) возвращает логарифм матрицы (табл. 3.21). Результат получается комплексным, если X имеет отрицательные собственные значения; если матрица X – действительная симметрическая или комплексная эрмитова, то теми же свойствами обладает и logm(X). Операция [Y, esterr] = logm(X) не выдает какого-либо предупреждающего сообщения, но возвращает оценку погрешности в виде относительной невязки norm(expm(Y) – X) / norm(X);

Таблица 3.21

Матрица X

Операция

Матрица X

Операция

»X = [1 2;4 5]

X =

1 2

4 5

»Y = logm(X)

Y =

–0.2110+2.4777i 0.7603–0.9069i

1.5207–1.8138i 1.3097+0.6639i

»X = [1 2;4 5]

X =

1 2

4 5

»Y = sqrtm (X)

Y =

0.5373+0.5373i 0.7339–0.1967i

1.4679–0.3933i 2.0052+0.1440i

  • sqrtm(X) возвращает квадратный корень из X, соответствующий неотрицательным действительным частям собственных значений X. Результат получается комплексным, если X имеет отрицательные собственные значения. Если X вырожденная, то выдает предупреждение об ошибке (табл. 3.21). Операция [Y, resnonii] = sqrtm(X) возвращает оценку погрешности в виде относительной невязки по нормам Фробениуса; [Y, alpha, condest] = sqrtm(X) – функция с тремя выходными аргументами, возвращающая помимо квадратного корня фактор стабильности и оценку числа обусловленности результирующей матрицы Y.

    1. Цель, требования и рекомендации к выполнению задания

Цель выполнения задания: использование рассмотренных операций с матрицами, содержащими целые, вещественные и комплексные значения.

Требования и рекомендации к выполнению задания:

  1. Предварительно освоить обозначения из 3.6 и 3.7, использующиеся при задании действий и значений или в составе системных сообщений.

  2. Индивидуальные задания включают работу с 12 разновидностями операций, формат команд и результат выполнения которых должен быть предъявлен в отчете.

  3. Матрицы для обработки могут быть созданы тремя способами: а) случайный образом (функция rand); б) перечислением значений; в) заполнением матриц с помощью операторов цикла (разд. 5). Размеры матриц указаны в табл. 2.15.

  4. Примеры оформления операций и данных представлены ранее в разд. 3 в соответствующих подразделах.

    1. Варианты заданий

Номера индивидуальных заданий выбираются из 3.1–3.5, 3.8, 3.9 согласно двум последним цифрам номера студенческого билета по формуле: остаток от деления числа из двух цифр на количество операций N в соответствующем пункте задания, увеличенный на 1 (например, mod(631118, N) + 1).