Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание массивов со случайными числами



Для создания матриц (массивов) со случайными числами служат функции rand и randn.

· rand(n) возвращает матрицу размером nxn. Функцией rand генерируются массивы случайных чисел, значения элементов которых равномерно распределены в проме-жутке (0, 1).

· randn(n) генерирует массив со случайными элементами, распределенными по нор-мальному закону с нулевым математическим ожиданием и среднеквадратическим отк-лонением, равным 1.

· rand без аргументов возвращает одно случайное число, которое изменяется при каж-дом последующем вызове и имеет равномерный закон распределения. В случае исполь-зования randn без аргументов получим одно число по нормальному распределению.

Например,

> > Y=rand(4, 3)

Y =

0.9501 0.8913 0.8214

0.2311 0.7621 0.4447

0.6068 0.4565 0.6154

0.4860 0.0185 0.7919

 

> > Y=randn(4, 3)

Y =

-0.4326 -1.1465 0.3273

-1.6656 1.1909 0.1746

0.1253 1.1892 -0.1867

0.2877 -0.0376 0.7258

Многомерные массивы

Многомерные массивы характеризуются размерностью больше двух. Таким массивам можно дать наглядную интерпретацию. Так, матрицу (двумерный массив) можно записать на одном листе бумаги в виде строк и столбцов, состоящих из элементов матрицы.

Тогда блокнот с такими листками можно считать трехмерным массивом, полку в шкафу с блокнотами – четырехмерным массивом, шкаф со множеством полок – пятимерным массивом и т.д.

 

Применение оператора: в многомерных массивах

Оператор: (двоеточие) позволяет легко выполнять операци по увеличению размерности массивов (под размерностью массивов понимается чмсло измерений в пространственном пред-ставлении массивов, а под размером – произведение элементов в каждой размерности массива).

Приведем пример на формирование трехмерного массива путем добавления новой стра-ницы. Пусть у нас задан исходный двухмерный массив М размером 3х3:

 

> > 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(:,:, 1) и M(:,:, 2) означают наличие в массиве двух страниц.

 

Доступ к отдельному элементу многомерного массива

Чтобы вызвать средний элемент сначала первой, а затем второй страницы, надо записать следующее:

> > M(2, 2, 1)

ans =

> > M(2, 2, 2)

ans =

 

Таким образом, в многомерных массивах используется то же правило индексации, что и в одномерных и двухмерных массивах. Произвольный элемент, например, трехмерного массива в общем случае задается как M(i, j, k), где i – номер строки, j – номер столбца и k – номер стра-ницы. Этот элемент можно вывести, а можно присвоить ему заданное значение х: M(i, j, k)=x.

Увеличение размерности у многомерного массива

Ранее уже отмечалась возможность удаленя отдельных столбцов присвоением им значе-ний пустого вектора –столбца [ ]. Этот прием нетрудно распространить на страницы и вообще размерности многомерного массива. Например, первую страницу массива М можно удалить следующим образом:

> > M(:, :, 1)=[]

M =

10 11 12

13 14 15

16 17 18

 

Нетрудно заметить, что в массиве осталась только вторая страниц и что размерность мас-сива уменьшилась на единицу – он стал двухмерным.

 

Создание страниц, заполненных константами и случайными числами

Если после знака присваивания стоит численная константа, то соответствующая часть массива будет содержать элементы, содержащие данную константу. Например, создадим из вы-шеописанного массива М массив, у которого вторая страница содержит единицы:

 

> > M(:, :, 2)=1

M(:,:, 1) =

10 11 12

13 14 15

16 17 18

 

M(:,:, 2) =

1 1 1

1 1 1

1 1 1

 

А теперь заменим первую страницу массива на страницу с нулевыми элементами:

 

> > M(:, :, 1)=0

M(:,:, 1) =

0 0 0

0 0 0

0 0 0

 

M(:,:, 2) =

1 1 1

1 1 1

1 1 1

 

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

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

· cat(dim, A, B) возвращает результат объединения двух массивов А и В вдоль размер-ности dim;

· cat(2, A, B) возвращает массив [А, В], объединенный по столбцам;

· cat (1, A, B) возвращает массив [А, В], объединенный по строкам.

Примеры:

> > M1=[1 2; 3 4]

M1 =

1 2

3 4

 

> > M2=[5 6; 7 8]

M2 =

5 6

7 8

 

> > cat(1, M1, M2)

ans =

1 2

3 4

5 6

7 8

 

> > cat(2, M1, M2)

ans =

1 2 5 6

3 4 7 8

 

> > M=cat(3, M1, M2)

M(:,:, 1) =

1 2

3 4

 

M(:,:, 2) =

5 6

7 8

 

 

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

 

1. Получите матрицу, размером 6х6, значения элементов которой равномерно распределены в промежутке (0, 1).

2. Получите 8 случайных чисел, записанных в один столбец, значения элементов которых равномерно распределены в промежутке (0, 1).

3. Сгенерируйте массив размером 4х4 со случайными элементами, распределенными по нормальному закону с нулевым математическим ожиданием и среднеквадра-тическим отклонением, равным 1.

4. Получите одно случайным образом сгенерированное число, распределенное по нормальному закону с нулевым математическим ожиданием и среднеквадра-тическим отклонением, равным 1.

5. Сформируйте двухмерный массив размером 5х5, состоящий из произвольных элементов.

6. Добавьте вторую страницу к этому массиву, также состоящую из произвольных элементов.

7. Выведите на экран элемент первой страницы, расположенный на пересечении первой строки и второго столбца.

8. Выведите на экран элемент первой страницы, расположенный на пересечении пятой строки и четвертого столбца.

9. Выведите на экран элемент второй страницы, расположенный на пересечении третьей строки и первого столбца.

10. Выведите на экран элемент второй страницы, расположенный на пересечении второй строки и пятого столбца.

11. Удалите вторую страницу массива.

12. Вновь создайте вторую страницу, состоящую из чисел 5.

13. Замените элемент второй страницы, находящийся на пересечении второй строки и третьего столбца на число 100.

14. Замените элемент первой страницы, находящийся на пересечении второй строки и четвертого столбца на число 555.

15. Замените все элементы первой страницы на 3.

16. Удалите первую страницу.

17. Введите матрицу N1, размером 2х3 и матрицу N2 того же размера.

18. Объедините эти две матрицы по столбцам.

19. Объедините эти две матрицы по строкам.

20. Объедините эти матрицы таким образом. чтобы получились две страницы.

Л е к ц и я № 13, 14

 
 

 

 


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 730; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.023 с.)
Главная | Случайная страница | Обратная связь