exponenta event banner

randerr

Создание шаблонов битовых ошибок

Описание

Используйте randerr для генерации шаблонов битовых ошибок. Для всех синтаксисов: randerr обрабатывает каждую строку выходных данных независимо.

out = randerr(m) генерирует mоколо-m двоичная матрица, где каждая строка имеет ровно одну ненулевую запись в случайной позиции. Каждая перестановка имеет равную вероятность.

out = randerr(m,n) генерирует mоколо-n двоичная матрица, где каждая строка имеет ровно одну ненулевую запись в случайной позиции. Каждая перестановка имеет равную вероятность.

пример

out = randerr(m,n,errors) использует errors ввод для определения количества ненулевых записей в каждой строке вывода mоколо-n двоичная матрица.

пример

out = randerr(m,n,errors,seed) задает начальное значение для инициализации генератора равномерных случайных чисел rand функция.

пример

out = randerr(m,n,errors,randstream) задает объект случайного потока для генерации однородных выборок случайного шума с помощью rand функция. Предоставление объекта случайного потока или использование reset (RandStream) функция объекта случайного потока по умолчанию позволяет создавать повторяющиеся выборки шума.

Примечание

Для генерации повторяющихся выборок шума используйте одно и то же начальное входное значение для каждого вызова randerr или сбросить вход случайного потока перед вызовом randerr. Дополнительные сведения о сбросе случайного потока см. в разделе RandStream объект.

Примеры

свернуть все

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

out = randerr(8,7,[0 2])
out = 8×7

     0     1     0     0     0     1     0
     0     1     0     0     0     1     0
     0     0     0     0     0     0     0
     0     0     0     0     0     1     1
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     1     0     0     0     1
     0     0     1     0     1     0     0

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

out = randerr(8,7,[0 2; 0.25 0.75])
out = 8×7

     0     0     0     0     1     0     1
     0     1     0     0     0     0     1
     0     0     1     0     0     1     0
     0     1     0     0     1     0     0
     1     0     0     0     1     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0

Продемонстрируйте генерацию матрицы случайных ошибок без начального входного значения для нереализуемого выходного сигнала и с начальным входным значением для воспроизводимого выходного сигнала.

Укажите входные параметры для размеров выходной матрицы, количество ошибок и начальное значение.

m = 2;
n = 8;
errors = 2;
seed = 1234;

Используйте randerr для генерации двоичной матрицы случайной ошибки дважды с одной и той же командой. Выходные значения двоичной матрицы одинаковы для каждого выполнения randerr функция.

out = randerr(m,n,errors,seed)
out = 2×8

     0     0     1     1     0     0     0     0
     0     1     0     1     0     0     0     0

out = randerr(m,n,errors,seed)
out = 2×8

     0     0     1     1     0     0     0     0
     0     1     0     1     0     0     0     0

Измените начальное значение и вызовите randerr функция дважды. Выходные значения двоичной матрицы одинаковы для каждого выполнения randerr функция, но они отличаются от значений двоичной матрицы, выводимых с использованием предыдущего начального значения.

seed = 345;
out = randerr(m,n,errors,seed)
out = 2×8

     0     0     0     0     1     0     1     0
     1     0     0     0     1     0     0     0

out = randerr(m,n,errors,seed)
out = 2×8

     0     0     0     0     1     0     1     0
     1     0     0     0     1     0     0     0

Используйте randerr функция для генерации двоичной матрицы случайной ошибки дважды с одной и той же командой, не указывая начальное входное значение. Значения выходной матрицы изменяются для каждого выполнения randerr функция.

out = randerr(m,n,errors)
out = 2×8

     0     1     0     0     0     1     0     0
     0     1     0     0     0     0     0     1

out = randerr(m,n,errors)
out = 2×8

     0     1     0     0     0     0     0     1
     0     0     0     1     0     1     0     0

Входные аргументы

свернуть все

Размер случайной двоичной матрицы, определяемый как положительное целое число.

  • При указании только входных данных m, выход случайной двоичной матрицы имеет размер mоколо-m.

  • При указании входных данных m и n, выход случайной двоичной матрицы имеет размер mоколо-n.

Типы данных: double

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

Типы данных: double

Число ненулевых записей, указанных как одна из этих форм.

  • Если указано целое число, errors определяет число 1 в каждой строке.

  • Если указан как вектор целочисленной строки, errors определяет число 1 в каждой строке. Каждое число 1 с, включенное в этот вектор, происходит с равной вероятностью.

  • Если указано как двухстрочная матрица, первая строка errors определяет целое число 1, возможное в любой данной строке выходной матрицы. Вторая строка определяет вероятности каждого соответствующего числа единиц. Элементы во втором ряду errors должен быть равен 1.

Типы данных: double

Начальное значение для инициализации однородного генератора случайных чисел, используемого в rand функция, заданная как неотрицательное целое значение меньше 232.

Типы данных: double

Объект случайного потока для генерации однородных случайных выборок шума с использованием rand функция, указанная как RandStream объект. Предоставление объекта случайного потока или использование reset (RandStream) функция объекта случайного потока по умолчанию позволяет создавать повторяющиеся выборки шума.

Выходные аргументы

свернуть все

Вывод случайной двоичной матрицы, возвращаемый как матрица двоичных значений.

  • При указании только входных данных m, этот выход имеет размер mоколо-m.

  • При указании входных данных m и n, этот выход имеет размер mоколо-n.

Типы данных: double

См. также

Функции

Объекты

Представлен до R2006a