Материал: Matlab. Практический подход. Самоучитель

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

Глава 1. Принципы работы Matlab и основы вычислений

состоящая их строк с i-й по j-ю и одновременно столбцов с m-го по n-й. Рассмотрим некоторые примеры использования оператора "двоеточие". В частности, исходная матрица A вводится командой

A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]

A =

2

3

4

1

5

6

7

8

9

10

11

12

13

14

15

16

Как и ранее, здесь и далее жирным шрифтом выделен ввод пользователя. В следующих командах оператор "двоеточие" используется для извлечения подматриц из исходной матрицы A:

>>A(1:3,2) ans =

2

6

10

>>A(3,2:4) ans =

10 11 12 >> A(3:4,1:2) ans =

9 10

13 14

Например, командой A(1:3,2) возвращается вектор-столбец, составленный из элементов с первой по третью строку во втором столбце матрицы A. Командой A(3,2:4) возвращается вектор-строка, который составлен из элементов третьей строки со второго по четвертый столбец включительно матрицы A. Наконец, командой A(3:4,1:2) возвращается подматрица матрицы A, верхний левый элемент которой имеет индексы (3,1), а правый нижний элемент имеет индексы (4,2).

Встроенные математические функции

Ну зачем такие сложности?

К/ф "Приключения Шерлока Холмса и доктора Ватсона. Собака Баскервилей"

В Matlab по умолчанию доступно достаточно большое количество встроенных функций. Ядро их составляют математические функции, которые на практике используются сравнительно часто. Некоторые из них перечислены в табл. 1.5.

31

Самоучитель Matlab

Табл. 1.5. Некоторые математические функции Matlab

Функция

Описание

 

 

abs()

Модуль числа (в том числе и комплексного), указанного аргумен-

том функции

 

 

acos()

Арккосинус для числа, указанного аргументом функции

acosd()

Арккосинус аргумента функции. Результат представлен в граду-

сах

 

 

acot()

Арккотангенс числа, указанного аргументом функции

acotd()

Арккотангенс аргумента функции. Результат представлен в гра-

дусах

 

 

acsc()

Арккосеканс числа, указанного аргументом функции

acscd()

Арккосеканс аргумента функции. Результат представлен в гра-

дусах

 

 

asec()

Арксеканс числа, указанного аргументом функции

asecd()

Арксеканс аргумента функции. Результат представлен в градусах

asech()

Арксеканс гиперболический от числа, указанного аргументом

функции

 

 

asin()

Арксинус от числа, указанного аргументом функции

asind()

Арксинус аргумента функции. Результат представлен в градусах

asinh()

Арксинус гиперболический от числа, указанного аргументом

функции

 

 

atan()

Арктангенс от числа, переданного аргументом функции

 

У функции два аргумента (например, atan(y,x)). В качестве

atan2()

результата возвращается направление (угол в диапазоне зна-

чений от до π) на точку с соответствующими координатами

 

(в данном случае, точка с координатами (y,x)). Если аргументы

 

комплексные, их мнимые части игнорируются

atand()

Арктангенс аргумента функции. Результат представлен в градусах

atanh()

Арктангенс гиперболический от числа, переданного аргументом

функции

 

 

ceil()

Функция округления аргумента в направлении плюс бесконеч-

ности – округление выполняется до целого значения, которое не

 

меньше, чем аргумент

 

 

cos()

Косинус от числа, переданного аргументом функции

cosd()

Косинус аргумента функции, указанного в градусах

cosh()

Косинус гиперболический от числа, переданного аргументом

функции

 

 

cot()

Котангенс от числа, переданного аргументом функции

cotd()

Котангенс аргумента функции, указанного в градусах

coth()

Котангенс гиперболический от числа, переданного аргументом

функции

 

 

csc()

Косеканс от числа, переданного аргументом функции

32

 

 

Глава 1. Принципы работы Matlab и основы вычислений

 

 

 

 

 

 

Функция

 

Описание

 

 

 

 

 

 

cscd()

Косеканс аргумента функции, указанного в градусах

 

csch()

Косеканс гиперболический от числа, переданного аргументом

 

функции

 

 

 

 

 

 

 

 

exp()

Экспонента: показательная функция с основанием-константой Эй-

 

лера и показателем степени, определяемым аргументом функции

 

 

 

 

 

 

expm1()

Командой вида expm1(x) с повышенной точностью вычисляет-

ся значение

 

 

 

 

 

exp(x)-1

 

 

 

factor()

Функцией возвращается вектор-строка с простыми множителями

 

числа (с учетом их кратности), указанного аргументом функции

 

 

 

 

 

 

factorial()

Функция для вычисления факториала числа, указанного аргумен-

 

том функции

 

 

 

 

 

 

 

 

fix()

Функция округления в направлении нуля. Результатом является

 

число, получающееся округлением аргумента функции до бли-

 

 

жайшего целого значения в направлении нуля

 

 

 

 

 

 

floor()

Функция округления аргумента до ближайшего целого значения,

 

которое не превышает аргумент, – округление в направлении ми-

 

 

нус бесконечности

 

 

 

 

 

 

 

 

gcd()

Функцией возвращается наибольший общий делитель целых чи-

 

сел или целочисленных массивов – аргументов функции

 

 

 

 

 

 

hypot()

Корень квадратный из суммы квадратов модулей аргументов,

 

переданных функции

 

 

 

 

 

 

 

 

 

У функции два аргумента. Результатом является целая часть от

 

idivide()

деления первого аргумента на второй. Можно также указать оп-

 

цию – в одинарных скобках имя функции, с помощью которой вы-

 

 

полняется округление

 

 

 

 

 

 

 

 

lcm()

Функцией в качестве результата возвращается наименьшее об-

 

щее кратное для целых чисел или целочисленных массивов – ар-

 

 

гументов функции

 

 

 

 

 

 

 

 

log()

Натуральный логарифм от числа, указанного аргументом функции

 

log10()

Логарифм по основанию 10 от числа, указанного аргументом

 

функции

 

 

 

log1p()

Командой вида log1p(x) с повышенной точностью вычисляет-

 

ся значение

 

 

 

 

 

log(1+x)

 

 

 

log2()

Логарифм по основанию 2 от числа, указанного аргументом

 

функции

 

 

 

mod()

Функцией возвращается остаток от деления значения первого ар-

 

гумента функции на значение второго аргумента. Целая часть от

 

 

деления определяется функцией froor()

 

 

Функциейвкачествезначениявозвращаютсябиномиальныекоэф-

 

 

фициенты. Если функция вызвана в формате nchoosek(n,k),

 

nchoosek()

то в качестве результата возвращается значение

 

 

Cnk =

n !

 

 

 

 

k !(n k)!

 

 

 

 

 

 

 

 

 

 

 

33

Самоучитель Matlab

Функция

Описание

 

 

nextpow2()

Функцией в качестве значения возвращается ближайшее целое

число – степень двойки, которое не меньше модуля аргумента

 

функции

 

 

nthroot()

Командой nthroot(x,n) в качестве значения возвращается

корень порядка n (второй аргумент) из действительного числа

 

или элементов действительного массива x (первый аргумент )

 

Функция может вызываться с одним или двумя аргументами. Если

 

у функции один аргумент (массив) и функция вызывается в фор-

pow2()

мате pow2(x), то в качестве результата возвращается массив

степеней двойки, показатели степени определяются массивом

 

x. Если функция вызывается с двумя аргументами в формате

 

pow2(x,y), то результатом является x.*2.^y

 

У функции два аргумента. Если аргументы скалярные, в каче-

power()

стве результата возвращается значение первого аргумента, воз-

веденное в степень, определяемую вторым аргументом. В бо-

 

лее общем случае в качестве результата выполнения команды

 

power(A,B) возвращается 'A.^B'

primes()

Функцией генерируется список простых чисел. Количество чисел

указывается аргументом функции

 

 

rem()

Функцией возвращается остаток от деления значения первого ар-

гумента функции на значение второго аргумента. Целая часть от

 

деления определяется функцией fix()

round()

Функция округления аргумента до ближайшего целого значения

sec()

Секанс от числа, указанного аргументом функции

secd()

Секанс аргумента функции, указанного в градусах

sign()

Знак числа, указанного аргументом функции (для положительных

чисел – единица, для отрицательных чисел – минус единица, для

 

нуля - ноль)

 

 

sin()

Синус от числа, указанного аргументом функции

sind()

Синус аргумента функции, указанного в градусах

sqrt()

Корень квадратный из числа, указанного аргументом функции

tan()

Тангенс от числа, указанного аргументом функции

tand()

Тангенс аргумента функции, указанного в градусах

Хотя большинство из представленных выше функций с математической точки зрения определены для скалярных величин, обычно они могут применяться и для аргументов-матриц. В этом случае действие функционального оператора применяется к каждому из элементов матрицы. Например, если переменная A является матрицей с элементами A(i,j), то в результате выполнения команды exp(A) получим матрицу того же ранга, а ее элементы вычисляются как exp(A(i,j)). В некоторых случаях такой подход неприемлем. Существуют так называемые матричные функции, аргументами которых по определению являются матрицы (в основном квадратные). Результат этих функций вычисляется по алгоритмам, разработанным специ-

34

Глава 1. Принципы работы Matlab и основы вычислений

ально для матриц. Так, в Matlab есть встроенные матричные функции для экспоненты, логарифма и квадратного корня. Это соответственно функции expm(), logm() и sqrtm(). Например, если A – квадратная матрица, то функцией expm(A) вычисляется матричная экспонента. По определению

An

это ряд exp(A) = . Результатом является матрица, которая вычис-

n=0 n !

ляется, как правило, на основе собственных чисел и собственных векторов матрицы A. Матричный логарифм для аргумента-матрицы A, вычисляемый инструкцией logm(A), представляет собой матрицу такую, что матричная экспонента от нее равна матрице A. Другими словами, по определению если B=logm(A), то expm(B)=A, и функция logm() является обратной к функции expm(). Аналогично, в результате извлечения квадратного корня из матрицы A с помощью функции sqrtm() получаем матрицу, которая, будучи возведенной в квадрат, дает матрицу A. Например, если B=sqrtm(A), то B*B=A.

В Matlab также широко представлены специальные функции, некоторые их них приведены в табл. 1.6.

Табл. 1.6. Некоторые специальные математические функции Matlab

Функция

 

 

 

 

 

 

 

Описание

 

 

 

 

 

 

Функция Эйри. Командой airy(x) в качестве результата

 

возвращается функция y(x), являющаяся одним из реше-

 

ний уравнения

d2y(x)

xy(x) = 0, а именно возвращается

 

 

 

 

 

 

 

 

 

dx2

 

x

K1 3 (

2

x3 2 ), где

 

функция Эйри первого рода Ai(x) =

1

 

 

π

3

3

 

Kν (z) - модифицированная функция Бесселя второго рода

airy()

индекса ν

. Функция также может вызываться с двумя аргу-

ментами в формате airy(k,x). В этом случае для k=0

 

 

возвращается функция Ai(x), для k=1 возвращается произ-

 

водная Ai′(x), для k=2 возвращается независимое решение

 

Bi(x) =

 

x

(I−1 3 (

2

x3 2 )+ I1 3 (

2

x3 2 )), где Iν (z) - моди-

 

 

3

3

3

 

фицированная функция Бесселя первого рода индекса ν , для

k=3 возвращается производная Bi′(x)

 

Функция Бесселя третьего рода

(функция

Ханкеля).

 

При

вызове функции с

тремя аргументами

в форма-

besselh()

те

besselh(n,k,x)

возвращается функция Ханкеля

Hn(k)(x) = Jn(x) +(−1)k +1iYn(x), где

k = 1,2 ,

а Jn(x) и

 

Yn(x) - функции Бесселя индекса n первого и второго рода со-

 

ответственно

 

 

 

35

Источник: https://studfile.net/preview/16433384/