Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.7 Mб
Скачать

Cуммирование элементов

Определены следующие функции суммирования элементов массивов:

  • sum(A) возвращает сумму элементов массива, если А – вектор, или вектор-строку, со-держащую сумму элементов каждого столбца, если А – матрица;

  • sum(A, dim) возращает сумму элементов массива А по столбцам или по строкам в за-висимости от скаляра dim.

Например,

>> A=magic(4)

A =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

>> B=sum(A)

B =

34 34 34 34

  • cumsum(A) выполняет суммирование с накоплением. Если А – вектор, cumsum(A) воз-вращает вектор, содержащий результаты суммирования с накоплением элементов век-тора А. Если А – матрица, cumsum(A) возвращает матрицу того же размера, что и А, содержащую суммирование с накоплением для каждого столбца матрицы А;

  • cumsum(A, dim) выполняет суммирование с накоплением элементов по размерности, определенной скаляром dim. Например, cumsum(A, 1) выполняет суммирование по столбцам, а cumsum(A, 2) – по строкам.

Например,

>> A=magic(5)

A =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> B=cumsum(A)

B =

17 24 1 8 15

40 29 8 22 31

44 35 21 42 53

54 47 40 63 56

65 65 65 65 65

>> B=cumsum(A, 1)

B =

17 24 1 8 15

40 29 8 22 31

44 35 21 42 53

54 47 40 63 56

65 65 65 65 65

>> B=cumsum(A, 2)

B =

17 41 42 50 65

23 28 35 49 65

4 10 23 43 65

10 22 41 62 65

11 29 54 56 65

Поворот матриц

Следующая функция обеспечивает поворот матрицы (по расположению элементов):

  • rot90(A) осуществляет поворот матрицы А на 900 против часовой стрелки;

  • rot90(A, k) осуществляет поворот матрицы А на величину 90*k градусов, где k – целое число.

Например, >> M=[3 2 7; 3 3 2; 1 1 1]

M =

3 2 7

3 3 2

1 1 1

>> rot90(M)

ans =

7 2 1

2 3 1

3 3 1

>> rot90(M, 2)

ans =

1 1 1

2 3 3

7 2 3

Выделение треугольных частей матриц

При выполнении ряда математических вычислений возникает необходимость в выделе-нии треугольных частей матриц. Следующие функции обеспечивают такое выделение.

  • tril(X) возвращает нижнюю треугольную часть матрицы Х;

  • tril(X, k) возвращает нижнюю треугольную часть матрицы Х, начиная с k-той диаго-нали. При k=0 – это главная диагональ, при k>0 – одна из верхних диагоналей, при k<0 – одна из нижних диагоналей.

Например,

>> M=[3 1 4; 8 3 2; 8 1 1]

M =

3 1 4

8 3 2

8 1 1

>> tril(M)

ans =

3 0 0

8 3 0

8 1 1

  • triu(X) возвращает верхнюю треугольную часть матрицы Х;

  • triu(X, k) возвращает верхнюю треугольную часть матрицы Х, начиная с k-той диаго-нали. При k=0 – это главная диагональ, при k>0 – одна из верхних диагоналей, при k<0 – одна из нижних диагоналей.

Например, >> triu(M)

ans =

3 1 4

0 3 2

0 0 1

>> triu(M, 2)

ans =

0 0 4

0 0 0

0 0 0

л а б о р а т о р н а я р а б о т а № 4

  1. Введите матрицу С размером 4х5, состоящую из произвольных элементов.

  2. Вычислите произведения элементов этой матрицы по столбцам.

  3. Вычислите произведение элементов этой матрицы по строкам.

  4. Введите магическую матрицу размером 5х5.

  5. Вычислите произведение с накоплением элементов этой матрицы по строкам.

  6. Вычислите произведение с накоплением элементов этой матрицы по столбцам.

  7. Введите матрицу D размером 5х4, состоящую из произвольных элементов.

  8. Получите результат суммирования элементов этой матрицы по столбцам.

  9. Получите результат суммирования элементов этой матрицы по строкам.

  10. Выполните для этой же матрицы суммирование с накоплением элементов по строкам.

  11. Выполните суммирование с накоплением элементов по столбцам.

  12. Введите матрицу Z размером 3х4, состоящую из произвольных элементов.

  13. Осуществите поворот этой матрицы на 900 против часовой стрелки.

  14. Поверните эту же матрицу на 1800 против часовой стрелки.

  15. Осуществите поворот еще на 2700.

  16. Верните матрицу в исходное состояние.

  17. Получите магическую матрицу N размером 7х7.

  18. Выделите нижнюю треугольную часть матрицы N.

  19. Выделите нижнюю треугольную часть матрицы N, начиная со второй диагонали.

  20. Выделите верхнюю треугольную часть матрицы, начиная с главной диагонали.

Л е к ц и я № 9, 10

Матричные операции линейной алгебры. Создание матриц со случайными числами. Решение систем линейных уравнений. Численное интегрирование

Некоторые матричные операции линейной алгебры

Линейная алгебра – область, где наиболее часто используются векторы и матрицы. На-ряду с операциями общего характера в MATLAB применяются функции, позволяющие решать наиболее характерные задачи линейной алгебры.

Для нахождения определителя (детерминанта) в MATLAB имеется функция det(X), ко-торая возвращает определитель квадратной матрицы Х. Если Х содержит только целые элемен-ты, то результат – тоже целое число.

Например,

>> A=[2 3 6; 1 8 4; 3 6 7]

A =

2 3 6

1 8 4

3 6 7

>> det(A)

ans =

-29

Иногда требуется определить след матрицы. След матрицы – это сумма ее диагональных элементов. Он вычисляется функцией trace:

>> A=[2 3 4; 5 6 7; 8 9 1]

A =

2 3 4

5 6 7

8 9 1

>> trace(A)

ans =

9

Обращение матриц – одна из наиболее распространенных операций матричного анализа. Обратной называют матрицу, получаемую в результате деления единичной матрицы Е на ис-ходную Х. Таким образом, X-1=E/X. Реализацию данной операции обеспечивает функция inv(X). Она возвращает матрицу, обратную квадратной матрице Х. Предупреждающее сообще-ние выдается, если матрица Х близка к вырожденной.

Например,

>> A=[1 2 0; 0 3 1; 0 1 2]

A =

1 2 0

0 3 1

0 1 2

>> inv(A)

ans =

1 -0.8000 0.4000

0 0.4000 -0.2000

0 -0.2000 0.6000

Транспонирование матриц, то есть замена строк столбцами и наоборот, задается при по-мощи одиночной кавычки. А’ – это транспонированная матрица А.

Например, >> A=[1 2 3; 4 5 6; 7 8 9]

A =

1 2 3

4 5 6

7 8 9

>> A'

ans =

1 4 7

2 5 8

3 6 9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]