II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
 

Раздел "Обработка сигналов и изображений\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.

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

 

О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры