Лекция 2_пер. мной.ppt
- Количество слайдов: 8
ЛЕКЦИЯ 2. «РАБОТА С ВЕКТОРАМИ И МАТРИЦАМИ В MATLAB» МАТЕМАТИЧЕСКИЕ МЕТОДЫ
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2 РАБОТА С МАССИВАМИ В MATLAB ориентирован на работу с векторами и матрицами. ü ü Одномерный массив – вектор; Двумерный массив – матрица. Работа с векторами: A=[1 3 5 -2] или A=[1, 3, 5, -2] Получение элемента вектора: >> A(2) ans = 3 Работа с матрицами: >> B=[1, 2, 3; 4, 5, 6] B= 1 2 3 4 5 6 >> B=[1 2 3; 4 5 6] B= 1 2 3 4 5 6 >> B(2, 1) ans = 4 Быстрые способы задания векторов: (применяются при дискретизации расчетной области, задании «сеток» и пр. ) >> A=[1: 6] A= 1 2 3 4 >> A=[0: 0. 5: 2] A= 0 0. 5 5 6 2 1 1. 5 2
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2 РАБОТА С МАССИВАМИ В MATLAB Стандартные матрицы ZEROS(N) ZEROS(M, N) >> zeros (3) ans = 0 0 0 0 0 >> zeros (3, 2) ans = 0 0 0 ONES(N) Работа с размерностью SIZE( ) LENGTH( ) NDIMS(A) ONES(M, N) >> ones(2) ans = 1 1 >> ones(2, 3) ans = 1 1 1 EYE(N) >> eye(3) ans = 1 0 0 EYE(M, N) 0 0 1 >> eye(2, 3) ans = 1 0 0 0 1 0 RAND(M, N) – случайные числа A= 0 1 2 3 >> size(A) ans = 2 3 A= 0 1 2 3 >> length(A) ans = 3 A= 0 1 2 3 >> ndims(A) ans = 2 Конец массива ( end ) Динамическая работа с памятью >> x=[1 2 3] x= 1 2 3 >> x(end) ans = 3 >> x(end+1)=6 x= 1 2 3 6 x(length(x)) 3
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2 РАБОТА С БЛОКАМИ МАТРИЦ В MATLAB Использование символа « : » Позволяет выбирать целые строчки или столбцы или их части: Удаление строк и столбцов Используется запись [ ]: >> B=[1, 2, 3; 4, 5, 6] >> B(1, : ) ans = 1 2 >> B=[1, 2, 3; 4, 5, 6] B= 1 2 3 4 5 6 >> x=[1 2 3 4 5 6 7] >> x(3) ans = 3 3 >> B(: , 2) ans = 2 5 >> B(2, 2: 3) ans = 5 6 >> B(end+1, : )=[0 -1 2] B= 1 2 3 4 5 6 0 -1 2 >> x(3)=[] x= 1 2 4 5 6 7 >> B(: , 2)=[] B= 1 3 4 6 >> length(x) ans = 6 Функция « sum (X) » Как найти разность всех элементов массива? Как сумму всех четных элементов массива? Рассмотреть пример с матрицей большой размерности… (например, перестановка строк или умножение всей строки на число или вставка единичной матрицы в центр более крупной) 4
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2 СОРТИРОВКА МАССИВОВ В MATLAB Фукция « sort » Представление матрицы в виде независимых векторов. Сортировка элементов в рамках какого -то вектора по возрастанию-убыванию: SORT(X, DIM, MODE) B = [1 2 -3; 4 5 -6; 0 -1 -2] B= 1 2 4 5 0 -1 >> sort(B) ans = 0 -1 1 2 4 5 Фукция « max » Ø MAX(X) Ø [Y, I]=MAX(X) Ø MAX(X, Y) Ø MAX(X, [], DIM) B = [1 2 -3; 4 5 -6; 0 -1 -2] -3 -6 -2 >> max(B) ans = 4 5 -2 -6 -3 -2 >> [Y, I]=max(B) Y= 4 5 -2 I= 2 2 3 >> sort(B, 2) ans = -3 1 2 -6 4 5 -2 -1 0 MODE: ‘ascend‘ – по возрастнию ‘descend' – по убыванию Фукция « min » Аналогично функции max Как найти самый большой элемент в матрице? 5
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2 ОПЕРАЦИИ НАД МАТРИЦАМИ В MATLAB 1. Удаление строк или столбцов (символ [ ] ) 2. Объединение (cat(dim, A 1, A 2, A 3, A 4. . . )) - объединяет множество исходных массивов Ai вдоль размерности dim. При этом если dim =1, объединение вдоль строк; dim =2, объединение вдоль столбцов. 3. Транспонирование (Транспонирование матрицы, так же как и вектора, производится при помощи «. ’» ) 4. Сложение (+) 5. Вычитание (-) 6. Умножение (деление) , Возведение в степень (- а вот a*b, a/b, a^b - этo мaтpичныe oпepaции! (cм. пpaвилa yмнoжeния/дeлeния/cтeпeни матриц) Эти операции требуют определеных свойств входных параметров ) 1. Поэлементная операция умножения (деления) (a. *b, a. /b, a. ^b - этo пoэлeмeнтныe oпepaции!). Иные поэлементные операции (сложение-вычитание, возведение в степень и пр. ) Обозначение: . * . / . ^ Математические функции: 1. Нахождение обратной матрицы ( INV(x) или символ « ‘ » ) 2. Определитель матрицы ( det(A) ) 3. Собственные значения матрицы 6
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 2 МАССИВЫ, МАТРИЦЫ И ОПЕРАЦИИ С НИМИ Формирование массивов специального вида • ZEROS - формирование массива нулей • ONES - формирование массива единиц • EYE - формирование единичной матрицы • RAND - формирование массива элементов, распределенных по равномерному закону • RANDN - формирование массива элементов, распределенных по нормальному закону • CROSS - векторное произведение • KRON - формирование тензорного произведения • LINSPACE - формирование линейного массива равноотстоящих узлов • LOGSPACE - формирование узлов логарифмичесокй сетки • MESHGRID - формирование узлов двумерной и трехмерной сеток • : - формирование векторов и подматриц Операции над матрицами • DIAG - формирование или извлечение диагоналей матрицы • TRIL - формирование нижнетреугольной матрицы (массива) • TRIU - формирование верхнетреугольной матрицы (массива) • FLIPLR - поворот матрицы относительно вертикальной оси • FLIPUD - поворот матрицы относительно горизонтальной оси • ROT 90 - поворот матрицы на 90 градусов • RESHAPE - преобразование размеров матрицы Специальные матрицы • COMPAN - сопровождающая матрица характеристического многочлена • HADAMARD - матрица Адамара (Hadamard matrix) • HANKEL - матрица Ганкеля (Hankel matrix) • HILB, INVHILB - матрица Гильберта (Hilbert matrix) • MAGIC - магический квадрат • PASCAL - матрица Паскаля (Pascal matrix) • ROSSER - матрица Рессера (Rosser matrix) • TOEPLITZ - матрица Теплица (Toeplitz matrix) • VANDER - матрица Вандермонда (Vandermonde matrix) • WILKINSON - матрица Уилкинсона (Wilkinson matrix) 7
МАТЕМАТИЧЕСКИЕ МЕТОДЫ. Лекция 1 ЗАДАНИЯ ДЛЯ ПРАКТИЧЕСКОГО ЗАНЯТИЯ 1. Задание 1: Найти корень функции одной переменной 3 -мя методами: Метод простой итерации, Метод половинного деления, Метод Ньютона. 2. Задание 2: Решить систему линейных алгебраических уравнений методом Крамера, методом Гаусса, методом обратной матрицы с использованием модификаций Гаусса. 8
Лекция 2_пер. мной.ppt