51080

Работа с размерностями многомерных массивов пакета MatLab

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

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

Цель работы: Знакомство с возможностями системы MATLAB: освоение навыков работы с размерностями многомерных масcивов в пакете MATLAB.

Русский

2014-02-05

39.79 KB

1 чел.

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

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

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

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

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

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

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

Работа с размерностями многомерных массивов пакета MatLab

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

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

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

Тула 2010 г.


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

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

  1.  Теоретические сведения, необходимые для выполнения лабораторной работы
  2.  Вычисление размера размерности массива.

Для вычисления размера каждой размерности массива используется функция size:

  1.  M = size(A,DIM) возвращает размер размерности, указанной скаляром DIM, в виде вектора-строки размером 2. Для двумерного или одномерного массива А size(A,1) возвращает число рядов, а size(A,2) – число столбцов;

Для N-мерных массивов А при n>2 size(A) возвращает N-мерный вектор-строку, отражающий страничную организацию массива, последняя составляющая этого вектора равна N. В векторе отсутствуют данные о единичных размерностях (тех, где расположены вектор-строка или вектор-столбец, т.е. size(A,DIM)==1). Исключение представляют N-мерные массивы Java массивов javaarray, которые возвращают размер массива самого высокого уровня.

Вообще, когда входным аргументом size является javaarray, то возвращаемое число столбцов всегда 1, а число рядов (строк) равно размеру (длине) javaarray.

  1.  [M1,M2,M3,…,MN] = size(A) возвращает размер первых N размерностей массива А;
  2.  D=size(A), для  матрицы А возвращает двухэлементный вектор-строку, в котором первая составляющая – число строк m, а вторая составляющая – число столбцов n;
  3.  [m,n]=size(A) возвращает число рядов и столбцов в разных выходных параметрах (выходных аргументах в терминологии MATLAB) m и n.
  4.  Перестановки размерностей массивов

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

  1.  permute (A,ORDER) – переставляет размерности массива А в порядке, определяемом вектором перестановок ORDER. Вектор ORDER – одна из возможных перестановок всех целых чисел от 1 до N, где N – размерность массива А;
  2.  ipermute (A,ORDER) – операция обратная permute:

permute (permute (A,ORDER), ORDER)=А

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

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

>> B=[5 6;7 8];

>> C=[9 10;11 12];

>> D=cat(3,A,B,C)

D(:,:,1) =

    1     2

    3     4

D(:,:,2) =

    5     6

    7     8

D(:,:,3) =

    9    10

   11    12

>> size(D)

ans =

    2     2     3

>> size(permute(D,[3 2 1]))

ans =

    3     2     2

 

>> size(ipermute(D,[2 1 3]))

ans =

    2     2     3

>> ipermute(permute(D,[3 2 1]),[3 2 1])

ans(:,:,1) =

    1     2

    3     4

ans(:,:,2) =

    5     6

    7     8

ans(:,:,3) =

  1.     10

                                                           11    12

2.3 Сдвиг размерностей массивов

Сдвиг размерностей реализуется функцией shiftdim:

  1.  B=shiftdim(X,N) – сдвиг размерностей в массиве X на величину N. Если N>0, то сдвиг размерностей, расположенных справа, выполняется влево, а N первых слева размерностей сворачиваются в конец массива, т.е. движение размерностей идет по кругу против часовой стрелки. Если N<0, сдвиг выполняется вправо, причем N первых размерностей, сдвинутых вправо, замещаются единичными размерностями;
  2.  [B,NSHIFTS]=shiftdim(X) – возвращает массив B с тем же числом элементов, что и у массива X, но с удаленными начальными единичными размерностями. Выходной параметр NSHIFTS показывает число удаленных размерностей. Если X – скаляр, функция не изменяет X, B, NSHIFTS.

Следующий пример иллюстрирует применение функции shiftdim:

>> A=randn(1,2,3,4);

>> [B,N]=shiftdim(A)

B(:,:,1) =

  -0.5883   -0.1364    1.0668

   2.1832    0.1139    0.0593

B(:,:,2) =

  -0.0956    0.2944    0.7143

  -0.8323   -1.3362    1.6236

B(:,:,3) =

  -0.6918    1.2540   -1.4410

   0.8580   -1.5937    0.5711

B(:,:,4) =

  -0.3999    0.8156    1.2902

   0.6900    0.7119    0.6686

N =

    1

  1.  Задание:
  2.  Вычислить размер размерности массива

1

[3, 6]

16

[0, 6]

2

[4, 7]

17

[1, 5]

3

[5, 5]

18

[2, 6]

4

[7, 4]

19

[3, 4]

5

[9, 3]

20

[4, 6]

6

[0, 2]

21

[5, 3]

7

[2, 1]

22

[6, 6]

8

[4, 0]

23

[3, 2]

9

[6, 9]

24

[6, 6]

10

[7, 8]

25

[3, 1]

11

[8, 7]

26

[7, 6]

12

[9, 6]

27

[8, 0]

13

[0, 5]

28

[3, 6]

14

[1, 4]

29

[9, 7]

15

[3, 3]

30

[3, 9]

  1.  Переставить размерности массива

1

А=[0 9; 7 9], В=[1 5; 9 4],

С=[2 2; 9 9], D=cat[3, A,B,C]

16

А=[3 9; 7 6], В=[3 5; 9 7],

С=[2 9; 9 8], D=cat[3, A,B,C]

2

А=[3 9; 3 9], В=[3 5; 9 4],

С=[2 9; 9 5], D=cat[3, A,B,C]

17

А=[1 9; 7 9], В=[3 9; 9 4],

С=[2 9; 9 2], D=cat[3, A,B,C]

3

А=[3 9; 6 9], В=[8 5; 9 4],

С=[2 7; 9 9], D=cat[3, A,B,C]

18

А=[3 3; 7 9], В=[3 5; 9 6],

С=[2 9; 9 4], D=cat[3, A,B,C]

4

А=[9 9; 7 9], В=[1 5; 9 4],

С=[2 9; 2 9], D=cat[3, A,B,C]

19

А=[3 9; 5 9], В=[3 6; 9 4],

С=[2 9; 7 7], D=cat[3, A,B,C]

5

А=[3 9; 7 3], В=[3 4; 9 4],

С=[2 9; 5 9], D=cat[3, A,B,C]

20

А=[3 9; 8 9], В=[3 5; 6 4],

С=[1 9; 9 5], D=cat[3, A,B,C]

6

А=[3 9; 6 9], В=[3 9; 9 9],

С=[1 9; 0 9], D=cat[3, A,B,C]

21

А=[3 7; 9 9], В=[8 9; 9 9],

С=[3 9; 9 3], D=cat[3, A,B,C]

7

А=[3 9; 7 9], В=[3 5; 9 4],

С=[2 9; 9 9], D=cat[3, A,B,C]

22

А=[6 9; 9 9], В=[3 9; 7 9],

С=[8 9; 9 9], D=cat[3, A,B,C]

8

А=[3 4; 9 9], В=[3 1; 9 8],

С=[3 9; 3 9], D=cat[3, A,B,C]

23

А=[9 9; 9 9], В=[3 9; 0 9],

С=[3 1; 9 9], D=cat[3, A,B,C]

9

А=[3 9; 6 7], В=[3 9; 8 9],

С=[3 0; 9 3], D=cat[3, A,B,C]

24

А=[3 3; 9 9], В=[3 9; 3 9],

С=[3 2; 9 9], D=cat[3, A,B,C]

10

А=[3 9; 4 9], В=[3 9; 5 9],

С=[1 2; 9 9], D=cat[3, A,B,C]

25

А=[3 9; 9 4], В=[3 9; 9 5],

С=[3 6; 9 9], D=cat[3, A,B,C]

11

А=[3 9; 9 1], В=[3 9; 0 2],

С=[5 9; 7 9], D=cat[3, A,B,C]

26

А=[3 9; 9 7], В=[3 8; 9 9],

С=[2 9; 9 9], D=cat[3, A,B,C]

12

А=[4 9; 9 9], В=[3 9; 5 9],

С=[3 9; 3 9], D=cat[3, A,B,C]

27

А=[3 9; 4 9], В=[3 9; 9 5],

С=[3 9; 6 9], D=cat[3, A,B,C]

13

А=[3 6; 9 9], В=[3 9; 7 9],

С=[3 8; 9 9], D=cat[3, A,B,C]

28

А=[3 9; 7 9], В=[3 9; 8 6],

С=[3 9; 4 9], D=cat[3, A,B,C]

14

А=[3 9; 1 9], В=[3 9; 9 3],

С=[2 9; 9 9], D=cat[3, A,B,C]

29

А=[3 3; 9 2], В=[3 9; 5 9],

С=[3 0; 9 9], D=cat[3, A,B,C]

15

А=[4 9; 9 9], В=[3 9; 5 9],

С=[3 6; 9 9], D=cat[3, A,B,C]

30

А=[3 1; 9 9], В=[3 9; 2 9],

С=[3 9; 4 9], D=cat[3, A,B,C]

  1.  Сдвиньте размерности массива

1

А=randn (2,3,4,5)

16

А=randn (2,3,3,7)

2

А=randn (3,4,5,6)

17

А=randn (2,5,5,5)

3

А=randn (7,8,9,1)

18

А=randn (2,3,4,8)

4

А=randn (9,8,7,6)

19

А=randn (3,3,5,5)

5

А=randn (5,4,3,2)

20

А=randn (8,8,4,5)

6

А=randn (2,8,4,3)

21

А=randn (2,3,9,5)

7

А=randn (1,3,6,5)

22

А=randn (7,3,4,5)

8

А=randn (7,3,3,5)

23

А=randn (7,3,5,5)

9

А=randn (2,5,1,5)

24

А=randn (2,9,4,5)

10

А=randn (2,9,9,5)

25

А=randn (7,3,5,5)

11

А=randn (1,3,5,5)

26

А=randn (2,3,4,5)

12

А=randn (2,4,7,5)

27

А=randn (2,3,4,5)

13

А=randn (3,3,4,7)

28

А=randn (2,8,6,5)

14

А=randn (2,8,4,9)

29

А=randn (1,7,4,8)

15

А=randn (1,3,6,5)

30

А=randn (2,3,7,9)

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

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

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

  1.  Что такое размерность массива?
  2.  Что такое размер размерности массива?
  3.  Как применяется оператор «:» в многомерных массивах?
  4.  Как происходит вычисление числа размерностей массива?
  5.  Что такое транспонироваин?
  6.  Как осуществляется сдвиг размерностей?
  7.  За что отвечает функция squeeze в массиве?

 

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

60221. Полікультурний спортивно - розважальний захід: « Най! Най! Най!» 154 KB
  Звучить сигнал уваги І Ведучий: На парад запрошуються майбутні захисники Вітчизни хлопці 56 кл. ІІ Ведучий: На нашому святі присутні почесні гості: Директор школи куріруючій завуч паралелі 56 класів та завуч з виховної роботи.
60222. Классный час на тему «Отцы и дети» 68 KB
  Ход мероприятия Звучит песня Как молоды мы были Ведущий: Не сломалось поколенье Оказавшись на распутье Вас учил великий Ленин Нас же учит Янукович. Фотографии праздничной одежды й ведущий: Комментирует одежду каждого поколения.
60223. Сценарій конкурсу знавців української мови «А нумо, українці!» 607.5 KB
  Жовті Води Сценарій конкурсу знавців української мови А нумо українці Ведучий 1: Громадянин будьякої країни відчуває свою причетність до свого народу до своєї мови. Ведучий 2: Життя мови залежить від народу...
60224. Цветы в фольклоре народов мира и произведениях русских поэтов и писателей 159 KB
  Цель: показать многообразие, красоту, неповторимость природных форм и красок растительного мира.
60225. КРІЗЬ ПЕКЛО АФГАНСЬКОЇ ВІЙНИ 679.5 KB
  Слайд 11 Втрати За уточненими даними всього у війні Радянська Армія втратила 14 427 чоловік КДБ 576 чоловік МВС 28 чоловік загиблими і зниклими безвісти. Поранення і контузії отримали більше...
60226. Берегині рідного краю 551.5 KB
  1 учень. Щасливі мої письма що в рученьках твоїх бувають ніж мої очі що тебе не оглядають. Слайд 3 1 учень Трагічно склалися взаємини між юною Кочубеївною та гетьманом. 1 учень Тут доречні слова письменника Богдана Лепкого...
60227. Як Берізка листя роздарувала 125.5 KB
  Мета: ознайомити учнів з творами українських письменників, які описували красу осені. Удосконалювати вміння виразно, правильно, інтонаційно читати та розказувати текст, співати пісні, танцювати.
60229. Свято «Чаювання – родинна традиція» 142.5 KB
  Розширити уявлення учнів про напій який виготовляють люди а саме чай. Сьогодні чай називають напоєм №1. Чай це прекрасний корисний напій який тамує спрагу знімає втому додає бадьорості підіймає настрій.