создание случайного многомерного массива с помощью rand () с nddata = fix (8 * randn (10,5,3)) - PullRequest
0 голосов
/ 11 июля 2020

В настоящее время я пытаюсь самостоятельно изучить MATLAB, и у меня возник вопрос о команде, которая использовала randn ().

nddata =  fix(8*randn(10,5,3)) 

Я понимаю, что делает функция fix (), и многомерный массив, который создано randn. Однако я не уверен, что здесь делает 8, он не умножает результат случайных чисел и не является частью ограничения. Итак, я просто хочу знать цель восьмерки. Спасибо

1 Ответ

0 голосов
/ 11 июля 2020

randn генерирует стандартную матрицу случайных чисел с нормальным распределением (стандарт в этом контексте определяется как среднее значение = 0 и стандартное отклонение = 1). Фактор 8 просто растягивает это распределение по оси x; скалярное умножение для каждого значения в 3D-матрице. Затем функция fix округляет каждое значение до ближайшего целого числа к 0, т.е. -3,9 становится -3,0. Это эффективно снижает стандартное отклонение данных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...