51077

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

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

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

Использование функций ones zeros rnd и rndn Функции ones создание массивов с единичными элементами zeros создание массивов с нулевыми элементами и rnd или rndn создание массивов с элементами – случайными числами с соответственно равномерным и нормальным распределением могут также использоваться для создания многомерных массивов. Примеры приводятся ниже: E=ones332 E::1 = 1 1 1 1 1 1 1 1 1 E::2 = 1 1 1 1 1...

Русский

2014-02-05

39.12 KB

2 чел.

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

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

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

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

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

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

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

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

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

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

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

Тула 2010 г.


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

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

  1.  Теоретические сведения, необходимые для выполнения лабораторной работы
  2.  Применение оператора «:» в многомерных массивах.

При  обычном задании массивов (с помощью символа точки с запятой «;») число рядов (строк) массива получается на 1 больше, чем число символов «;», но массив остается двумерным. Оператор «:» (двоеточие) позволяет легко выполнять операции по увеличению размерности массивов. Приведем пример формирования трехмерного массива путем добавления новой страницы. Пусть задан исходный двумерный массив М размером

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

M =

    1     2     3

    4     5     6

    7     8     9

Для добавления новой страницы с тем же размером можно расширить М следующим образом:

>> M(:,:,2)=[10 11 12;13 14 15;16 17 18]

M(:,:,1) =

    1     2     3

    4     5     6

    7     8     9

M(:,:,2) =

   10    11    12

   13    14    15

   16    17    18

Посмотрим, что теперь содержит массив М при явном его указании:

>> M

M(:,:,1) =

    1     2     3

    4     5     6

    7     8     9

M(:,:,2) =

   10    11    12

   13    14    15

   16    17    18

Как можно заметить, числа в выражениях М(: , : , 1) и М(: , : , 2) означают номер страницы.

  1.  Использование функций ones, zeros, rand и randn

Функции ones (создание массивов с единичными элементами), zeros (создание массивов с нулевыми элементами) и rand или randn (создание массивов с элементами – случайными числами с соответственно равномерным и нормальным распределением) могут также использоваться для создания многомерных массивов. Примеры приводятся ниже:

>> E=ones(3,3,2)

E(:,:,1) =

    1     1     1

    1     1     1

    1     1     1

E(:,:,2) =

    1     1     1

    1     1     1

    1     1     1

>> Z=zeros(2,2,3)

Z(:,:,1) =

    0     0

    0     0

Z(:,:,2) =

    0     0

    0     0

Z(:,:,3) =

    0     0

  1.   0

>> R=randn(3,2,2)

R(:,:,1) =

  -0.4326    0.2877

  -1.6656   -1.1465

   0.1253    1.1909

R(:,:,2) =

   1.1892    0.1746

  -0.0376   -0.1867

   0.3273    0.7258

Эти примеры достаточно очевидны и не требуют особых комментариев. Обратите, однако внимание на легкость задания размеров массивов для каждой размерности. Кроме того, следует отметить, что если хотя бы одна размерность массива равна нулю, то массив будет пустым:

>> A=randn(3,3,3,0)

A =

  Empty array: 3-by-3-by-3-by-0

Как видно из данного примера, пустой массив возвращается с соответствующим комментарием.

  1.  Объединение массивов

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

  1.  сat(DIM,A,B) – возвращает результат объединения двух массивов А и В вдоль размерности DIM;
  2.  сat(2,A,B) – возвращает массив [A,B], в котором объединены ряды (горизонтальная конкатенация);
  3.  сat(1,A,B) – возвращает массив [A,B], в котором объединены столбцы (вертикальная конкатенация);
  4.  В=сat(DIM,A1,A2,…) – объединяет множество входных массивов А1, А2,… вдоль размерности DIM;

Функции сat(DIM,C{:}) и сat(DIM,C. FIELD) обеспечивает соответственно конкатенацию (объединение) ячеек массива ячеек или структур массива структур, содержащих числовые матрицы, в единую матрицу. Ниже приводятся примеры применения функции cat:

  1.  Задание:
  2.  Примените оператор «:».

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.  Используйте функции ones, zeros, rand и randn.

1

[1  4  5]

ones

11

[1  7  5]

ones

21

[1  1  5]

ones

2

[2  4  6]

zeros

12

[0  3  5]

zeros

22

[1  4  9]

zeros

3

[3  3  8]

rand

13

[1  3  8]

rand

23

[1  2  8]

rand

4

[0  4  5]

randn

14

[0  1  5]

randn

24

[1  3  6]

randn

5

[3  7  9]

ones

15

[1  0  6]

ones

25

[4  7  5]

ones

6

[1  4  5]

zeros

16

[3  4  5]

zeros

26

[1  0  8]

zeros

7

[0  3  5  8]

rand

17

[2  3  7  4]

rand

27

[1  2  5  7]

rand

8

[6  4  5]

ones

18

[1  6  5]

ones

28

[0  3  9]

ones

9

[0  3  5]

ones

19

[8  4  4]

ones

29

[2  4  3]

ones

10

[4  4  5]

randn

20

[4  7  5  5]

randn

30

[9  6  5  7]

randn

  1.  Объедините массивы

1

[1 5; 5 7; 5 4]   сat(DIM,A,B)

16

[9  8; 6  7; 0  2]

сat(DIM,A,B)

2

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

сat(2,A,B)

17

[4 5; 5  7; 5  0]

сat(2,A,B)

3

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

сat(1,A,B)

18

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

сat(1,A,B)

4

[1 1 3; 2  1; 5  3]

сat(2,A,B)

19

[1 4 5; 8  7; 5  0]

сat(DIM,A,B)

5

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

сat(1,A,B)

20

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

сat(2,A,B)

6

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

сat(DIM,A,B)

21

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

сat(1,A,B)

7

[8 5 6; 0  7; 6 9]

сat(2,A,B)

22

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

сat(1,A,B)

8

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

сat(1,A,B)

23

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

сat(2,A,B)

9

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

сat(DIM,A,B)

24

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

сat(DIM,A,B)

10

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

сat(1,A,B)

25

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

сat(1,A,B)

11

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

сat(2,A,B)

26

[6  9; 6 5 8; 5 2]

сat(1,A,B)

12

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

сat(2,A,B)

27

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

сat(DIM,A,B)

13

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

сat(1,A,B)

28

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

сat(1,A,B)

14

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

сat(DIM,A,B)

29

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

сat(DIM,A,B)

15

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

сat(1,A,B)

30

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

сat(1,A,B)

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

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

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

  1.  Чем характеризуются многомерные массивы?
  2.  Что позволяет выполнить оператор «:»?
  3.  Что выполняет функция ones?
  4.  Что выполняет функция zeros?
  5.  Что выполняет функция cat?

 

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

10231. Воспитание у древних славян 18.38 KB
  Воспитание у древних славян Воспитание детей у восточных славян при первобытнообщинном строе в период с VI в. по IX в. развивалось в той же логике и с теми же характерными особенностями что и у других первобытных народов. Первоначально процесс воспитания был неотделим от
10232. История европейского образования. Становление средневековой системы воспитания 28.34 KB
  История европейского образования. Становление средневековой системы воспитания Меньшиков В. М. Раннее Средневековье VIII век стал временем первого заметного подъема образования Западной Европы. Ведущую роль в этом процессе сыграли Карл Великий 749–814 и Алкуин 735–804 ко...
10233. Учитель вечен на Земле 26.84 KB
  Учитель вечен на Земле Цель: вызвать интерес к профессии педагога через книгу. Задачи: рассказать учащимся о развитии школы и учительства, познакомить с выдающимися писателями-педагогами, рекомендовать книги о школе и учителе. Оборудование: ПК му...
10234. Конспект и рефлексивный анализ проведенного урока музыки 73.5 KB
  Конспект и рефлексивный анализ проведенного урока музыки Учитель: Воуба В.Г. Класс: 5 в Дата: 26 ноября 2009 Время: 12:3013:10 Программа: Рачина Б.С. Тема: М.П. Мусоргский Иванова ночь на Лысой горе. Цель: познакомить детей с фантастическими образами в музыке М.П. Мус
10235. Педагогика. Введение в педагогическую деятельность 61.06 KB
  ПЕШКОВА В.Е. Педагогика. Ч.1. Введение в педагогическую деятельность Краткий конспект лекций. Лекция № 1. Своеобразие педагогической профессии и ее гуманистический характер. Лекция № 2. Профессия учителя. Лекция № 3. Творчество учителя. Лекция № 4. Педагогическая де...
10236. Объектно-ориентированное программирование. Структурный подход в программировании 111 KB
  Объектно-ориентированное программирование. Объектно-ориентированное программирование ООП является доминирующим стилем при создании больших программ. Основные этапы эволюции структурного подхода в программировании помогают лучше понять взаимосвяз...
10237. Классы в C++ 108 KB
  Лекция 2. Классы. Класс представляет собой главное инструментальное средство C для объектно-ориентированного программирования. Класс похож на структуру в которой сгруппированы элементы соответствующие данным о некотором объекте и оперирующие этими данными фун
10238. Указатели. Структуры в C++ 82 KB
  Лекция 10. Указатели. Структуры. 10.1 Указатели. Программы на C хранят переменные в памяти. Указатель представляет собой адрес памяти который указывает на определенный участок. 10.1.1 Использование указателя на символьную строку. Когда программа передает массив наприм
10239. Наследование и защищенные элементы класса 79.5 KB
  Лекция 13. Наследование и защищенные элементы класса. 13.1. Наследование. Цель объектно-ориентированного программирования состоит в повторном использовании созданных классов. Если уже создан некоторый класс то возможны ситуации что новому классу нужны многие