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?

 

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

37009. Файлова система NTFS 1.45 MB
  Імя робочої групи домену в який входить компютер MSHOME Імя користувача dmin Характеристики компютера: Процесор 1.6GHz Оперативна пам'ять 512Mб Обєм жорсткого диска 80Gb Моделі мережевих пристроїв внутрішніх і зовнішніх Reltek RTL8139 810x Fmily Fst Ethernet NIC 10 100 mb s Наявність локальної мережі Ні Наявність глобальної мережі Так Операційна система Microsoft Windows XP Порядок виконання роботи: 1.txt рис1 Рис 1 1.
37010. Створення консольних додатків. Обробка розгалужених обчислювальних процесів на мові програмування C# 31.5 KB
  Індивідуальні завдання. Дано порядковий номер факультету вивести на екран його назву. Дан порядковый номер месяца вывести на экран количество месяцев оставшихся до конца года. Дан порядковый номер дня месяца вывести на экран количество дней оставшихся до конца месяца.
37011. Команди переходів 142 KB
  Теоретична частина Команди цієї групи дозволяють міняти послідовність виконання команд програми. Команди переходів і виклику підпрограм є однією із складових процесу прийняття рішень. Команди переходів і виклику підпрограм провіряють значення розрядів регістра ознак і визначають слідуючий крок виконання програми в залежності від результату провірки.
37012. Команди виклику підпрограм і повернення з підпрограм 194 KB
  Коли здійснюється звернення до підпрограми то на початку виконання вона реалізує запамятовування поточного значення лічильника команд точка повернення. Коли виконання підпрограми закінчується то за допомогою команди повернення мікропроцесору вказується що початкове значення лічильника команд потрібно взяти з памяті. Для запамятовування точки повернення використовується стек куди записується адреса команди слідуюча за адресою команди виклику підпрограми. Безумовний виклик підпрограми При виконанні даної команди виклик підпрограми...
37013. НЕПРЯМЕ ВИМІРЮВАННЯ ОПОРУ РЕЗИСТОРА З ВИКОРИСТАННЯМ АМПЕРМЕТРА І ВОЛЬТМЕТРА 54 KB
  Схема підключення амперметра і вольтметра при вимірюванні опору; а метод вольтметра б метод амперметра. Вимірювальний опір визначається із формули: Rx = U U Ix = U Ixr Ix 1 Таким чином чим більший опір амперметра тим більша похибка вимірювання. Точність вимірювання при цьому методі буде визначатись сумою похибок амперметра і вольтметра.
37014. Основи програмування на мові асемблер та знайомство з програмним забезпеченням для виконання лабораторних робіт 234 KB
  Таким чином відрізняють три головних сегмента програми яким відповідають сегментні регістри процесора типу INTEL 8086: CS code segment тобто сегмент інструкцій програми; DS dt segment тобто сегмент даних які визначені користувачем; SS stck segment тобто сегмент стеку. Регістривказівники РВ IP interrupt point адреса за якою на даний час припинено виконання програми або лічильник команд. Цей регістр безпосередньо зв'язаний з арифметикологічним пристроєм АЛП мікропроцесора який реалізує виконання команд програми на...
37016. Створення графічного інтерфейсу користувача 297 KB
  Згідно індивідуального завдання створити форму для введення даних та виведення розрахункових даних. На формі створити два перемикачі які визначають місце виведення результатів розрахунку. Створити процедури обробки подій форми. Згідно індивідуального завдання створити процедуру обробки одномірного масиву.
37017. Вивчення команд пересилки (переміщення) 246.5 KB
  В залежності від того які пристрої беруть участь в пересилці даних розрізняють слідуючі команди: загрузка пересилка і запис в память. Команди пересилки бувають однобайтовими двохбайтовими трьохбайтовими. Всі команди пересилки за виключенням команди POP PSW не міняють вмісту регістра ознак.