Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание массивов со случайными числами
Для создания матриц (массивов) со случайными числами служат функции 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; Просмотров: 777; Нарушение авторского права страницы