randerr

Сгенерируйте шаблоны битовой ошибки

Описание

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

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

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

пример

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

пример

out = randerr(m,n,errors,seed) задает 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-by- m.

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

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

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

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

Количество ненулевых записей, заданное как одна из следующих форм.

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

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

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

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

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

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

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

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

свернуть все

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

  • Когда вы задаете только вход m, этот выход имеет размер m-by- m.

  • Когда вы задаете входы m и n, этот выход имеет размер m-by- n.

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

См. также

Функции

Объекты

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