Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практикум по матлабу.pdf
Скачиваний:
156
Добавлен:
29.03.2015
Размер:
1.19 Mб
Скачать

рица из 0 и 1 (ложь или истина). Таким образом можно с помощью одного оператора find определить и записать сразу все индексы матрицы, удовлетворяющие некоторому условию. Если при этом вспомнить, что оператор цикла for допускает форму for k=KK, где KK - целый вектор, то удобно использовать их вместе. Например если вам необходимо выполнить <оператор> только для тех элементов матрицы, которые больше 3, то удобно это сделать следующим образом:

for i=find(A>3) <оператор>

end;

5. Функции MATLAB

В системе MATLAB существует большое количество функций, подготовленных разработчиками системы (см. п. E ). Большинство из них предоставлено в виде исходных текстов. Можно эти функции классифицировать по областям их использования (тригонометрические, спецфункции, функции линейной алгебры и т.д.), но здесь мы вкратце опишем действия функций по отношению к матричному характеру переменных MATLAB.

5.1.Скалярные функции

Определенные функции MATLAB действуют только на скаляры, но когда аргументом их является матрица, то они действуют поэлементно. К таким функциям относятся

sin

asin

exp

abs

round

cos

acos

log (натуральнй)

sqrt

floor

tan

atan

rem (остаток)

sign

ceil

5.2. Векторные функции

Существуют другие функции, аргументами которых являются вектора (строки или столбцы), но если эти функции действуют на матрицу размера mxn (m >= 2), то они действуют постолбцово, т.е. результатом действия является вектор-строка, каждый элемент которой является результатом действия этой функции на соответствующий столбец. Построчное действие такой функции (если необходимо) может быть достигнуто использованием операции транспонирования. Например, mean(A’). Некоторые из этих функций приведены далее:

121

max

sum

median

any

min

prod

mean

all

sort

std

 

 

Например, максимальный элемент прямоугольной матрицы находится с помощью команды max(max(A)), а не с помощью max(A). Попробуйте сами выполнить эти операции.

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

Наибольшую мощь системе MATLAB дают матричные функции. Наиболее употребительные приведены в следующей таблице:

eig

собственные значения и собственные вектора

chol

факторизация Холецкого

svd

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

inv

обратная матрица

lu

LU-факторизация

qr

QR-факторизация

hess

форма Хессенберга

schur

декомпозиция Шура

rref

приведение к треугольной форме методом Гаусса

expm

матричная экспонента

sqrtm

матричный корень квадратный

poly

характеристический полином

det

определитель

size

размерность

norm

норма вектора или матрицы

cond

число обусловленности

rank

ранг матрицы

Функции MATLAB могут иметь один или несколько результатов. Например, функция y = eig(A), или просто eig(A) генерирует вектор-столбец, содержащий собственные значения матрицы A, в то время как оператор [U,D] = eig(A) генерирует матрицу U, чьи столбцы являются собственными векторами A, а диагональная матрица D содержит на главной диагонали собственные значения этой матрицы. Попробуйте вычислить это сами.

122