1.3. Основные функции над векторами и матрицами.
Обращение к элементарным математическим функциям осуществляется естественным образом - после названия функции следует аргумент, заключенный в круглые скобки. Он может быть переменной или выражением, скаляром или матрицей, действительным или комплексным, если функция определена для комплексного аргумента. Результат может быть комплексным и для действительного аргумента, если он выходит за пределы области определения соответствующей функции. Следующие функции выполняются поэлементно, если элемент не является скаляром, и результат имеет тот же размер, что и аргумент. Это функции действительного и комплексного аргумента: тригонометрические - SIN(X), COS(X), тангенс TAN(X), обратные тригонометрические - ASIN(X), ACOS(X), ATAN(X), квадратный корень SQRT(X), экспонента EXP(X), натуральный логарифм LOG(X). Это также функции CONJ(X) - определения комплексно-сопряженного Х, IMAG(X) и REAL(X) - выделения мнимой и действительной части Х, функции округления действительного аргумента ( FIX, FLOOR, CEIL, ROUND), функции SIGN(X), ABS(X) и ANGLE(X). При этом ROUND(X) - округление до ближайшего целого, FLOOR(X) - округление до ближайшего меньшего целого, CEIL(X) - округление до ближайшего большего целого, FIX(X) - отбрасывание дробной части Х. ABS(X) - определение модуля Х, в том числе и для комплексного элемента X. ANGLE(X) определяет угол - главное значение аргумента комплексного элемента Х ( -pi < ANGLE(X) < = pi). 1, если Х> 0 SIGN(X)= 0, если Х=0 -1, если Х< 0. Для комплексного аргумента SIGN(X)=X. /ABS(X) (отображает Х на единичную окружность с центром в начале координат на комплексной плоскости). Для квадратных матриц определены функции: DET(X)- вычисление определителя матрицы, INV(X)- вычисление обратной матрицы, если она существует,
EIG(X)- определение собственных значений матрицы Х, Собственные вектора матрицы Х определяются также с помощью функции EIG(X), для этого необходимо в левой части оператора присваивания указать две переменные следующим образом: [V, D]=EIG(X). В этом случае V будет матрицей, столбцы которой являются собственными векторами матрицы Х, а D- диагональной матрицей, содержащей собственные значения Х, так что X*V=V*D. Если же обращение имеет вид A=EIG(X), собственные значения будут представлены в виде вектора-столбца A. Для произвольных квадратных матриц определены также функции EXPM(X) и LOGM(X)- экспоненциал и логарифм в матричном смысле. Для диагональной матрицы Х результатом будет диагональная матрица того же размера, соответствующая функция выполняется над диагональными элементами X. Для матрицы X, которая может быть приведена к диагональному виду, результат вычисляется в соответствии со следующими определениями: если [V, D]=EIG(X), то EXPM(X)=V*EXPM(D)*INV(V), a LOGM(X)=V*LOGM(D)*INV(V). Следующие функции определены для матриц произвольной формы: SIZE, MAX, MIN, SUM, PROD, SORT. Функция SIZE(X) вычисляет вектор из двух значений и вызов ее может иметь вид: [m, n]=SIZE(X), m- количество строк матрицы Х, n- количество столбцов. Для определения длины вектора V предназначена функция LENGTH(V) = MAX(SIZE(V)). Если Х - вектор из действительных чисел, функция MAX(X) определяет максимальный элемент вектора. Для комплексных векторов результатом будет максимальный модуль элемента Х. Если обратиться к функции [z, i]=MAX(X), то i укажет индекс относительно начала вектора Х максимального элемента z. Если X- матрица, то операция выполняется для каждого столбца и результатом будет один или два вектора-строки, в зависимости от способа обращения, имеющие столько элементов, сколько столбцов у матрицы Х. Если А и В - матрицы одинаковых размеров, то МАХ(A, B) будет матрица того же размера, каждый элемент которой будет максимальным из соответствующих элементов матрицы А или В. Аналогично определена и функция вычисления минимума MIN.
Отметим полезную функцию FIND(K), определенную для векторов, которая вычисляет другой вектор, состоящий из индексов тех элементов К, которые отличны от нуля. Например, при выполнении I=FIND(X> 100) вектор I будет содержать номера тех элементов вектора Х, которые больше, чем 100. Функции SUM(X) и PROG(X) вычисляют сумму и произведение элементов вектора Х. Если Х - матрица, вычисление ведется по столбцам, и результатом будет вектор-строка. Функция SORT(X) располагает элементы вектора в возрастающем порядке (по модулю для комплексных величин). Если Х - матрица, сортировка ведется по столбцам и результат имеет те же размеры, что и Х. При обращении [Y, I]=SORT(X) вычисляется матрица индексов I, соответствующих элементам Y. Для функций, обрабатывающих или вычисляющих полиномы, в пакете MATLAB принято представление полинома в виде векторастроки, состоящего из коэффициентов при убывающих степенях 3 2 аргумента, например, полином 4х - 2х + х - 15 представляется вектором [4 -2 1 -15]. Функция ROOTS(P) вычисляет вектор-столбец всех корней, в том числе и комплексных, полинома, заданного вектором Р. Метод основан на вычислении собственных значений соответствущей матрицы. Если А и В описывают полиномы, то CONV(A, B) вычисляет произведение полиномов ( свертку векторов А и В). Функция POLYVAL(P, X) вычисляяет значения полинома Р для всех элементов Х. Функция POLYVALM(P, X), где Х - квадратная матрица, вычисляет матричный полином Р(X). Таким образом средства пакета позволяют производить матричные операции в удобной форме с несложным синтаксисом.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|