51074

Применение ЭВМ в электроэнергетических расчетах

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

Информатика, кибернетика и программирование

Знакомство с возможностями системы MATLAB: освоение навыков работы с матрицами в пакете MATLAB. Применение ЭВМ в электроэнергетических расчетах

Русский

2014-02-10

226.5 KB

4 чел.

Федеральное агентство по образованию

Государственное образовательное учреждение высшего

профессионального образования

Тульский государственный университет

Кафедра  Электроэнергетика

Применение ЭВМ в электроэнергетических расчетах

Лабораторная работа №6

Основные навыки работы с матрицами в пакете MatLab.

Направление подготовки:  

140200 – «Электроэнергетика»

Форма обучения (очная)

Тула 2010 г.


  1.  Цель работы:

Знакомство с возможностями системы MATLAB: освоение навыков работы с матрицами в пакете MATLAB.

  1.  Теоретические сведения, необходимые для выполнения работы
    1.  Перестановки элементов матрицы.

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

  •  B = fliplr(A) – зеркально переставляет столбцы матрицы А относительно вертикальной оси.

Пример:

>> F=[1,2,3,;5,45,3]

F =

    1     2     3

    5    45     3

>> fliplr(F)

ans =

    3     2     1

    3    45     5

  •  B = flipud(A) – зеркально переставляет строки матрицы А относительно горизонтальной оси.

Пример:

>> F=[3,2,12;6,3,2]

F =

    3     2    12

    6     3     2

>> flipud(F)

ans =

    6     3     2

    3     2    12

  •  perms(v) – возвращает матрицу P, которая содержит все возможные перестановки элементов вектора v, каждая перестановка в отдельной строке. Матрица P содержит n! строк и n столбцов.

Пример:

>> v=[1 4 6]

v =

    1     4     6

>> P=perms(v)

P =

    6     4     1

    6     1     4

    4     6     1

    4     1     6

    1     4     6

  1.      6     4
    1.  Вычисление произведений

Несколько простых функций служат для перемножения элементов массивов:

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

Пример:

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

A =

    1     2     3     4

    2     4     5     7

    6     8     3     4

>> B=prod(A)

B =

   12    64    45   112

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

Примеры:

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

A =

    1     2     3

    4     5     6

    7     8     9

>> B=cumprod(A)

B =

    1     2     3

    4    10    18

   28    80   162

>> B=cumprod(A,1)

B =

    1     2     3

    4    10    18

   28    80   162

  •  cross (U,V) – возвращает векторное произведение U и V в техмерном пространстве, т.е. . U и V – обязательные векторы с тремя элементами;
  •  cross (U,V,dim) – возвращает векторное произведение U и V по размерности, определенной скаляром  dim. U и V – многомерные массивы, которые должны иметь одну и ту же размерность, причем размер векторов в каждой размерности size(U,dim) и size(V,dim) должен быть равен 3.

Пример:

>> a=[6 5 3]; b=[1 7 6]; c=cross(a,b)

c =

  1.    -33    37
    1.  Суммирование элементов

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

  •  sum(A)  - возвращает сумму элементов массива, если А – вектор, или вектор-строку, содержащую сумму элементов каждого столбца, если А – матрица;
  •  sum(A,dim)  - возвращает сумму элементов массива по столбцам (dim=1), строкам (dim=2) или иным размерностям в зависимости от значения скаляра 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) выполняет суммирование по столбцам.

Пример:

>> A=magic(4)

A =

   16     2     3    13

    5    11    10     8

    9     7     6    12

    4    14    15     1

>> B=cumsum(A)

B =

   16     2     3    13

   21    13    13    21

   30    20    19    33

  1.    34    34    34
    1.  Функции формирования матриц

Для создания матриц, состящих из других матриц, используются следующие функции:

  •  repmat(A,m,n) – возвращает матрицу В, состоящую из  каждый элемент заменяется на копию матрицы (А);
  •  repmat(A,n) – формирует матрицу, состоящую из  копий матрицы А;
  •  repmat(A,[m n]) – дает тот же результат, что и repmat(A,m,n);
  •  repmat(A,[m n p…]) – возвращает многомерный массив ), состоящий из копий многомерного массива или матрицы А;
  •  repmat(A,m,n) –когда А – скаляр, возвращает матрицу размера  со значениями элементом, заданных А. Это делается намного быстрее, чем .

Пример:

>> F=[3,2;43,32]

F =

    3     2

   43    32

>> repmat(F,2,3)

ans =

    3     2       3      2      3      2

   43    32    43    32    43    32

    3     2       3      2      3      2

   43    32    43    32    43    32

  •  reshape (A,m,n) – возвращает матрицу В размерностью , сформированную из А путем последовательной выборки по столбцам. Если число элементов А не равно , то выдается сообщение об ошибке;
  •  reshape (A,m,n,p,…) или В = reshape (A,[m n p…]) – возвращает N-мерный массив с элементами из А, но имеющий размер  Прозведение  должно быть равно значению prod(size(A)).
  •  reshape (A,siz) – возвращает N-мерный массив с элементами из А, но перестроенный к размеру, заданному с помощьювектора siz.

Пример:

>> F=[3,2,7,4;4,3,3,2;2,2,5,6]

F =

    3     2     7     4

    4     3     3     2

    2     2     5     6

>> reshape(F,2,6)

ans =

    3     2     3     7     5     2

    4     2     2     3     4     6

  1.  Поворот матрицы

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

  •  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

  1.  Задание:
    1.  Переставьте элементы матрицы.

1

[1  4  5]

11

[1  7  5  9]

21

[1  1  5]

2

[2  4  6  7]

12

[0  3  5]

22

[1  4  9  5]

3

[3  3  5]

13

[1  3  8]

23

[1  2  8]

4

[0  4  5]

14

[0  1  5  8]

24

[1  3  6  6]

5

[3  7  5  8]

15

[1  0  6]

25

[4  7  5  5]

6

[1  4  5]

16

[3  4  5]

26

[1  0  8]

7

[0  3  5  8]

17

[2  3  7  4]

27

[1  2  5  7]

8

[6  4  5]

18

[1  6  5]

28

[0  3  9]

9

[0  3  5]

19

[8  4  4]

29

[2  4  3]

10

[4  4  5]

20

[4  7  5  5]

30

[9  6  5  7]

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

1

[1 4 5; 5 6 7; 5 4 12]

16

[9 7 8; 6 8 7; 0 8 2]

2

[3 8 7; 3 7 9; 8 6 4]

17

[10 4 5; 5 9 7; 5 5 0]

3

[6 6 4; 4 8 7; 4 7 6]

18

[4 7 9; 9 6 5; 6 4 3]

4

[1 1 3; 2 8 1; 5 3 3]

19

[1 4 5; 8 3 7; 5 7 0]

5

[4 2 5; 5 4 7; 7 2 1]

20

[12 6 7; 15 0 11; 6 4 1]

6

[6 3 9; 8 9 9; 5 8 0]

21

[16 0 3; 9 4 9; 5 9 1]

7

[8 5 6; 0 7 7; 6 9 7]

22

[6 0 9; 8 7 9; 5 8 1]

8

[9 7 3; 5 8 8; 3 6 9]

23

[7 3 8; 17 9 9; 5 8 4]

9

[6 10 4 ; 1 6 0; 5 4 3]

24

[5 3 9; 8 7 7; 15 9 0]

10

[7 13 2 ; 1 5 1; 7 4 4]

25

[4 3 9; 7 9 9; 5 8 4]

11

[2 4 5; 15 6 7; 5 4 0]

26

[6 7 9; 6 5 8; 5 5 2]

12

[1 5 5; 5 7 8; 4 5 6]

27

[4 3 6; 8 9 7; 7 8 1]

13

[0 4 1; 4 6 7; 5 8 3]

28

[5 3 9; 8 7 9; 5 7 0]

14

[5 4 4; 7 5 9; 3 5 0]

29

[6 3 9; 7 6 9; 8 8 0]

15

[7 2 6; 12 6 12; 5 4 3]

30

[4 3 9; 8 9 9; 5 5 0]

  1.  Сложите элементы

1

21

11

1

21

11

2

22

12

2

22

12

3

23

13

3

23

13

4

24

14

4

24

14

5

25

15

5

25

15

6

26

16

6

26

16

7

27

17

7

27

17

8

28

18

8

28

18

9

29

19

9

29

19

10

30

20

10

30

20

  1.  Сформируйте матрицы

1

21        13

22        14

repmat(A,m,n)

6

  1.  34

2          0

repmat(A,m,n)

11

11         11

12         12

repmat(A,[m n])

2

23         45

24         4

repmat(A,m)

7

  1.  2

4         9

repmat(A,[m n])

12

13          5

14          0

repmat(A,m)

3

25          5

26          6

repmat(A,[m n])

8

5         13

6         14

reshape (A,siz)

13

15          8

16          9

reshape(A,m,n)

4

27          1

28          0

reshape(A,m,n)

9

7         15

8         16

repmat(A,m)

14

17        45

18        56

repmat(A,m)

5

29          5

30          9

reshape (A,siz)

10

9         11

10        9

repmat(A,[m n])

15

19        78

20         0

repmat(A,[m n])

  1.  Поверните матрицу

1

[9 7 8; 6 8 7; 0 8 2]

16

[1 4 5; 5 6 7; 5 4 12]

2

[10 4 5; 5 9 7; 5 5 0]

17

[3 8 7; 3 7 9; 8 6 4]

3

[4 7 9; 9 6 5; 6 4 3]

18

[6 6 4; 4 8 7; 4 7 6]

4

[1 4 5; 8 3 7; 5 7 0]

19

[1 1 3; 2 8 1; 5 3 3]

5

[12 6 7; 15 0 11; 6 4 1]

20

[4 2 5; 5 4 7; 7 2 1]

6

[16 0 3; 9 4 9; 5 9 1]

21

[6 3 9; 8 9 9; 5 8 0]

7

[6 0 9; 8 7 9; 5 8 1]

22

[8 5 6; 0 7 7; 6 9 7]

8

[7 3 8; 17 9 9; 5 8 4]

23

[9 7 3; 5 8 8; 3 6 9]

9

[5 3 9; 8 7 7; 15 9 0]

24

[6 10 4 ; 1 6 0; 5 4 3]

10

[4 3 9; 7 9 9; 5 8 4]

25

[7 13 2 ; 1 5 1; 7 4 4]

  1.  Правила выполнения и содержание отчета по лабораторной работе.

Выполнить отчет о проделанной работе, в котором привести программу решения заданий 1 – 5.

КОНТРОЛЬНЫЕ ВОПРОСЫ

  1.  Какая функция зеркально переставляет столбцы матрицы А относительно веритикальной оси?
  2.  Какая функция зеркально переставляет столбцы матрицы А относительно горизонтальной оси?
  3.  Что означает функция prod(A)?
  4.  Что означает функция sum(A)?
  5.  Как осуществляется поворот матрицы?


 

А также другие работы, которые могут Вас заинтересовать

65736. ЖАНРОВІ МОДИФІКАЦІЇ В ПОЕЗІЇ В. СКОТТА ТА ПОЕТІВ-«ЛЕЙКІСТІВ» 139.5 KB
  Скотта і поетів лейкістів яких об’єднували схожі світоглядні позиції та напрямки естетичних пошуків ще недостатньо повно висвітлені в науці особливо в аспекті засвоєння народних традицій що вплинули на картину світу британського романтизму на його ранньому етапі й зумовили подальші художні відкриття.
65737. МОДЕЛЮВАННЯ І ПРОГНОЗУВАННЯ ДІЇ НЮХОВОГО НАНОБІОСЕНСОРА НА ОСНОВІ МОЛЕКУЛИ БІЛКА ТИПУ GPCR 481.5 KB
  Причинами цього є поперше те що сучасна кремнієва електроніка досягає межі мініатюризації і для виведення її на якісно новий рівень розвитку створення так званого квантового комп'ютера необхідна нова фізична елементна база з елементами розміру порядку нанометра тобто розміру молекули.
65738. Робота та розрахунок сталевих нагельних з’єднань дерев’яних конструкцій за повторних навантажень 1.33 MB
  Велике значення мають дослідження міцнісних і деформативних характеристик нагельних з'єднань дерев'яних елементів при одноразових та повторних навантаженнях оскільки при експлуатації значна кількість дерев'яних конструкцій знаходяться саме в таких умовах.
65739. ПРАВОВЕ РЕГУЛЮВАННЯ ПРОТИДІЇ ІНФОРМАЦІЙНИМ ВІЙНАМ В УКРАЇНІ 155.5 KB
  Незважаючи на надзвичайну важливість забезпечення належного функціонування всіх сфер життєдіяльності людини суспільства та держави необхідність ефективного забезпечення інформаційної безпеки держави зокрема шляхом вироблення надійного механізму протидії інформаційним війнам...
65740. СТАН АНТИОКСИДАНТНОЇ СИСТЕМИ ТА НЕСПЕЦИФІЧНА РЕЗИСТЕНТНІСТЬ У ТВАРИН ЗА ДІЇ ПРОБІОТИКІВ БПС 44 ТА БПС Л 227.5 KB
  Мета роботи: зясувати вплив пробіотичних препаратів БПС44 та БПСЛ на стан антиоксидантної системи та неспецифічну резистентність молодняку великої рогатої худоби ВРХ та свиней; встановити фактори антагоністичної дії штамів бактерій компонентів пробіотиків.
65741. ЗАБЕЗПЕЧЕННЯ ЯКОСТІ ПОСЛУГ ПЕРЕДАЧІ МУЛЬТИМЕДІА МЕРЕЖАМИ НОВОГО ПОКОЛІННЯ 1.25 MB
  Даний процес може сприяти виникненню проблем які пов’язані із гарантуванням рівня якості обслуговування мереж передачі мультимедійної інформації. Передплатники цих систем передачі мультимедійної інформації вимагають надання нових послуг які можуть бути доступними в будь якому місці...
65742. КІНЕМАТИЧНІ ПАРАМЕТРИ ГАЛАКТИКИ ЗА ДАНИМИ СУЧАСНИХ АСТРОМЕТРИЧНИХ КАТАЛОГІВ 3.19 MB
  Оскільки масових визначень променевих швидкостей поки що недостатньо для детальних кінематичних досліджень Галактики власні рухи зір є єдиним численним джерелом даних для таких досліджень. При цьому як зазначалось ще Дю Монтом дуже важливо мати...
65743. РАННЯ ДIАГНОСТИКА ТА ПРОГНОЗУВАННЯ БРОНХОЛЕГЕНЕВОЇ ДИСПЛАЗІЇ У НЕДОНОШЕНИХ НОВОНАРОДЖЕНИХ 356.5 KB
  Упровадження сучасних технологій виходжування недоношених новонароджених високотехнологічних методик ШВЛ використання сурфактанту призвело до збільшення виживаності недоношених новонароджених що у свою чергу вплинуло на збільшення частоти БЛД. На сьогоднішній день існує безліч суперечок і питань у профілактиці та лікуванні БЛД.
65744. ПРАВОВІДНОСИНИ ІЗ ЗАГАЛЬНООБОВ’ЯЗКОВОГО ДЕРЖАВНОГО СОЦІАЛЬНОГО СТРАХУВАННЯ 161.5 KB
  Це право гарантується зокрема загальнообов'язковим державним соціальним страхуванням за рахунок страхових внесків громадян підприємств установ та організацій. Основ законодавства України про загальнообов'язкове державне соціальне страхування.