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 в массиве?

 

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

85561. ЦІКАВА КНИГА ПРИРОДИ В.СУХОМЛИНСЬКИЙ «СЕРГІЙКОВА КВІТКА» 46.5 KB
  Вчити дітей бачити і розкривати красу природи. Заохочувати дітей до творчості. Розвивати мовлення, мислення дітей. Сприяти розвитку мовного апарату, пам’яті, вміння концентрувати увагу, володіти голосом. Виховувати любов і шанобливе ставлення до природи рідного краю.
85562. Урок з позакласного читання «Усний журнал» 563 KB
  Розширювати уявлення про красу рідної природи; удосконалювати навички виразного читання; розвивати уяву, пам’ять, образне мислення, уміння узагальнювати, аналізувати прочитане; формувати вміння простежувати взаємозв’язок людини з природою; виховувати інтерес і бережливе ставлення до природи.
85563. Автоматизация системы управления запасами на шахте “Самсоновская-Западная” 784.5 KB
  Применение современных персональных микроЭВМ в качестве технического средства АРМ управленческого работника приводит одновременно с организацией децентрализованной системы обработки данных к интеграции информационной базы данных учета.
85564. Экономические и правовые аспекты страхования ЗАО «Страховая компания «Инкомстрах» 394.5 KB
  Страховая компания Инкомстрах есть страхование и перестрахование имущественных интересов физических и или юридических лиц резидентов и или нерезидентов Украины которые не противоречат действующему законодательству Украины связанных: со здоровьем трудоспособностью и дополнительной пенсией...
85565. РЕАЛИЗАЦИЯ ИНФОРМАЦИОННОЙ МОДЕЛИ БАЗЫ ДАННЫХ В СИСТЕМЕ СОЦИАЛЬНОЙ ЗАЩИТЫ ГОСУДАРСТВА 472 KB
  Финансовый контроль по своей экономической сути это функция управления которая включает совокупность наблюдений проверок по деятельности объекта управления с целью оценки обоснованности и эффективности принятия решений и результатов их выполнение.
85566. Создание программного обеспечения для автоматизации ассортимента продукции на МЧП «Инвикта» 1.5 MB
  Ассортимент является важным элементом деятельности предприятия. Создание информационной системы для определения оптимального ассортимента товаров позволит постоянно отслеживать ситуацию на рынке, оценить факторы, обеспечивающие успех фирмы, сделать максимально эффективными продажи товара.
85567. МЕТОДЫ ПЛАНИРОВАНИЯ ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ ОАО «ТРЕСТ КРАСНОДОНШАХТОСТРОЙ» 698 KB
  Первый состоит в минимизации затрат при достижении заданного результата; второй заключается в максимизации результатов при заданных затратах ресурсах. Расчетноаналитические нормы разрабатываются на основе анализа техники технологии и организации производства в заданных или запроектированных условиях. Опытноэкспериментальные нормы устанавливаются на основе опытных или экспериментальных данных полученных в реально существующих условиях производства. Интегрированная автоматизированная система Современные персональные компьютеры...
85568. СОВЕРШЕНСТВОВАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ КАДРОВЫМ СОСТАВОМ НА ПРЕДПРИЯТИИ С УЧЕТОМ ЭКОНОМИЧЕСКИХ ФАКТОРОВ 821.5 KB
  В работе рассмотрены основные функции и задачи организации и основные функции службы кадров, исследована информационная среда организации, проведен анализ существующей модели прогнозирования, дана характеристика сетевого управления предприятием с описанием его аппаратного и программного обеспечения.
85569. РАЗРАБОТКА СИСТЕМЫ МОДЕЛИРОВАНИЯ ЭВОЛЮЦИИ ПОПУЛЯЦИЙ 687 KB
  Разработаны различные модели управления системой формализована процедура анализа параметров системы и приведены математические методы ее решения; разработана компьютерная реализация информационно-вычислительной системы для исследования экосистем.