MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Источники сигналов

  В оглавление \ К следующему разделу \ К предыдущему разделу

RANDERR
Генерация двоичных ошибок

Синтаксис:

out = randerr(m);
out = randerr(m,n);
out = randerr(m,n,errors);
out = randerr(m,n,errors,state);

Описание:

При любом варианте синтаксиса все строки матрицы out создаются функцией randerr независимо.

out = randerr(m)

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

out = randerr(m,n)

Возвращает двоичную матрицу размером m на n, в каждой строке которой имеется ровно один случайно расположенный ненулевой элемент. Все возможные положения этого элемента равновероятны.

out = randerr(m,n,errors)

Возвращает двоичную матрицу размером m на n, количество ненулевых элементов в каждой строке которой определяется параметром errors следующим образом:

  • если errors — скаляр, то он задает число ненулевых элементов для всех строк матрицы;
  • если errors — вектор-строка, то он задает несколько возможных равновероятных вариантов числа ненулевых элементов для всех строк матрицы;
  • если errors — матрица, содержащая две строки, то первая строка содержит возможные значения числа ненулевых элементов, а вторая — соответствующие вероятности (сумма элементов второй строки должна быть равна единице).

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

out = randerr(m,n,errors,state)

То же, что и предыдущий вариант синтаксиса, но в данном случае дополнительно можно задавать начальное состояние генератора случайных чисел MATLAB (функция rand) с помощью целочисленного параметра state.

Примеры.

Двоичную матрицу размером 8 на 7, в каждой строке которой с равной вероятностью содержится ни одного или два случайно расположенных ненулевых элемента, можно сгенерировать с помощью следующей команды:

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

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

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

out2 = randerr(8,7,[0 2; .25 .75])
out =

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

Сопутствующие функции: rand, randint, randsrc.

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика