Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАТЛАБ 1 - матрицы (дополн. Интер).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
143.36 Кб
Скачать

МАТЛАБ

Лабораторная работа 1

Матрицы и векторы

Задание

  1. Создать : А – квадратную матрицу пятого порядка; В – прямоугольную матрицу 3 х 5; С – прямоугольную матрицу 5 х 3; D – вектор-строку 5 порядка; E – вектор-столбец 5 порядка.

Можно использовать команды >> A=rand(n,n);

>> В= rand(n,m); .

  1. Из матрицы А выделить элемент 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. Можно задать значения вектора поэлементно, записав:

<имя пер.>=[<значение1> <значение2> ….<значениеN>]

Например,

>>P=[3 5 7 12]

Значения элементов записываются через пробел или через запятую.

В результате выполнения этой команды создается вектор-строка:

P =

3 5 7 12

Если записать:

P=[3 5 4.15e-5 12]

получим:

P =

3.0000 5.0000 0.0000 12.0000

Выводится 0, т.к. по умолчанию установлен формат Short. Для вывода с большей точностью необходимо установить другой формат отображения.

Если при задании вектора значения элементов разделить точкой с запятой, то получим вектор-столбец:

<<A=[1; 2; 3]

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

  1. Если элементы вектора являются арифметической прогрессией, то можно задать вектор так:

<имя пер.>=<нач. значение>:<шаг>:<конечное значение>

Например,

>> X=0 :4: 25

В результате будет сформирован вектор со значениями:

X =

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]

A =

1 2 3

4 5 6

7 8 9

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