МАТЛАБ
Лабораторная работа 1
Матрицы и векторы
Задание
1. Создать : А – квадратную матрицу пятого порядка; В – прямоугольную матрицу 3 х 5; С – прямоугольную матрицу 5 х 3; D – вектор-строчок 5 порядка; E – вектор-столбец 5 порядка.
Возможно применять команды A=rand(n,n);
В= rand(n,m); .
2. Из матрицы А выделить элемент A(I,J); из матрицы В выделить эле-мент B(I1,J1); из матрицы C выделить элемент C(I2,J2); из строчка D выделить элемент с номером J3; из вектора Е выделить элемент с номером I3. Номера I,J,… выбрать произвольно.
3. Выделение подматриц из исходных матриц
3.1 Из матрицы A выделить второй столбец
3.2.Из матрицы А выделить третью строчок
3.3.Из матрицы А выделить подстолбец четвертого столбца с номером строчка от2 до 4.
3.4. Из матрицы А выделить подстроку номер 4 с номерами столбцов от 2 до 5.
3.5. Из матрицы А выделить подматрицу с номерами строчков от 2 до 4 и номерами столбцов от 3 до 5.
3.6. Из матрицы А вычеркнуть 3-ю строчок
3.7. Из матрицы А вычеркнуть 2-й столбец
3.8. Из матрицы А вычеркнуть второй и третий столбец
3.9. Из матрицы А вычеркнуть 2 и 3-ю строчок
4. Объединение матриц
4.1 Выполнить вертикальное объединение матриц A,C,E в разных вариантах
4.2. Выполнить горизонтальное объединение матриц A, B, D
5. деление и Умножение матриц
Перемножить матрицы A и E. I-й столбец матрицы A умножить на вектор E (поэлементно). J-й столбец матрицы A поделить на вектор E (поэлементно). I-ю строчок матрицы A умножить и поделить на строчок D (поэлементно).
6. Степени матрицы.
Возвести матрицу A в хорошую, отрицательную, дробную хорошую и отрицательную степень. Выполнить поэлементное возведение в степень матриц A,B,C,D,E ( хорошую, отрицательную, дробную хорошую и отрицательную степень).
7. Операции с матрицами
Выполнить следующие операции для матрицы A: транспонирование, обращение, определение собственных чисел, построение характеристическо-го полинома, горизонтальная и вертикальная зеркальная перестановка, вычисление произведения элементов матрицы, вычисление суммы элементов матрицы A.
8. Для матриц A,B,C,D,E вычислить функции sqrt, exp, log; выполнить определение размерности ([M,N]=size(H).
9. Организовать особые матрицы eye, ones, zeros, magic, rand,
10. Организовать матрицу случайных чисел с обычным распределением, извлечь ее диагональ и заменить единицами. Составить трех-диагональную матрицу с единичными 1-й и (-1)-й диагоналями, нулевыми внедиагональными элементами и компонентами основной диагонали изменяющимися от (-3) до 3
См.: http://old.exponenta.ru/soft/matlab/potemkin/book2/chapter5/diag.asp
Пояснения и примеры
http://helpiks.org/7-65390.html Задание матриц и векторов. Деление (правое и левое)
http://helpiks.org/7-65391.html Создание матриц и новых векторов на базе имеющихся.
http://old.exponenta.ru/soft/matlab/potemkin/book2/chapter5/contens.asp Массивы, операции и матрицы с ними
Методы задания векторов
Вектор – это одномерный массив данных. Вектор в MATLAB (ML) – это матрица из одного столбца либо одной строки. Вектор возможно вектором-столбцом либо вектором-строчком.
Для задания вектора в совокупности ML возможно воспользоваться одним из нижеприведенных способов.
1.Возможно задать значения вектора поэлементно, записав:
=[ ….]
К примеру,
P=[3 5 7 12]
Значения элементов записываются через пробел либо через запятую.
В следствии исполнения данной команды создается вектор-строчок:
светло синий =
3 5 7 12
В случае, если записать:
P=[3 5 4.15e-5 12]
возьмём:
P =
3.0000 5.0000 0.0000 12.0000
Выводится 0, т.к. по умолчанию установлен формат Short. Для вывода с большей точностью нужно установить второй формат отображения.
В случае, если при задании вектора значения элементов поделить точкой с запятой, то возьмём вектор-столбец:
A=
Элементы вектора возможно задавать выражениями. К примеру,
B=[5+5^2 4-1 2*4-2]
B =
30 3 6
При таких условиях элементы вектора для большей наглядности лучше разделять запятой.
B=[5+5^2, 4-1, 2*4-2]
B =
30 3 6
2. В случае, если элементы вектора являются арифметической прогрессией, то возможно задать вектор так:
=::
К примеру,
X=0 :4: 25
В следствии будет организован вектор со значениями:
0 4 8 12 16 20 24
Ход должен быть в любой момент больше нуля. В случае, если ход равен единице, то его возможно не показывать:
Х = 1 : 5
X =
1 2 3 4 5
Дабы поменять форму вектора (в этом случае из вектора-строчка взять вектор-столбец), возможно применять операцию транспонирования.
Для этого нужно записать Х’ – тогда вектор примет форму столбца.
К примеру,
Х=X’
Х =1
2
3
4
5
3.Кроме этого для создания арифметической прогрессии возможно применять функцию linspace:
linspace (,,)
К примеру,
B=linspace(0,pi,5)
B =
0 0.7854 1.5708 2.3562 3.1416
Для доступа к элементу вектора нужно указать его имя и в круглых скобках номер элемента. К примеру, D(3). Для обращения к последнему элементу вектора, в случае, если малоизвестна его протяженность, возможно записать: D(length(D)) либо D(end).
length – функция, определяющая размер вектора.
Задание матриц
При задании матриц числовые эти строчков записываются через пробел либо через запятую. Элементы различных строчков разделяются знаком «точка с запятой» (;) либо записываются любая с новой строчка (Shift+Enter).
Зададим матрицу:
A =
1 2 3
4 5 6
7 8 9
Либо
A=[1 2 3
4 5 6
7 8 9]
A =
1 2 3
4 5 6
7 8 9
Как мы уже знаем, обращение к какому-либо элементу матрицы будет иметь следующий вид: (), к примеру, А(2,3).