exponenta event banner

symerr

Вычислить количество ошибок символов и частоту ошибок символов

Описание

пример

[number,ratio] = symerr(x,y) сравнивает элементы в x и y. Размеры x и y определить, какие элементы сравниваются. Продукция number - скаляр или вектор, указывающий количество различающихся элементов. Продукция ratio равняется number делят на общее количество элементов на меньшем входе.

[number,ratio] = symerr(x,y,flg) сравнивает элементы в x и y. Дополнительный вход flg и размер x и y определяют размер number.

пример

[number,ratio,loc] = symerr(...) возвращает двоичную матрицу loc который указывает, какие элементы x и y различаются. Элемент loc равно нулю, если соответствующее сравнение не дает расхождений, а в противном случае - нулю.

Примеры

свернуть все

Сравнение элементов матрицы с другой матрицей

x = [1,1,3,1;3,2,2,2;3,3,8,3]
x = 3×4

     1     1     3     1
     3     2     2     2
     3     3     8     3

aMatrix = [1,1,1,1;2,2,2,2;3,3,3,3]
aMatrix = 3×4

     1     1     1     1
     2     2     2     2
     3     3     3     3

[number1,ratio1] = symerr(x,aMatrix)
number1 = 3
ratio1 = 0.2500

Сравнение элементов матрицы с вектором строки

x = [1,1,3,1;3,2,2,2;3,3,8,3]
x = 3×4

     1     1     3     1
     3     2     2     2
     3     3     8     3

aRowVector = [1,2,3,1]
aRowVector = 1×4

     1     2     3     1

[number2,ratio2] = symerr(x,aRowVector)
number2 = 3×1

     1
     3
     4

ratio2 = 3×1

    0.2500
    0.7500
    1.0000

Сравнение элементов матрицы с вектором столбца

x = [1,1,3,1;3,2,2,2;3,3,8,3]
x = 3×4

     1     1     3     1
     3     2     2     2
     3     3     8     3

aColumnVector = [1;2;3]
aColumnVector = 3×1

     1
     2
     3

[number3,ratio3] = symerr(x,aColumnVector)
number3 = 1×4

     1     0     2     0

ratio3 = 1×4

    0.3333         0    0.6667         0

Можно указать альтернативные методы сравнения, используемые symerr. В этом примере флаг используется для переопределения сравнения строк по умолчанию. Обратите внимание, что число и отношение являются скалярами.

format rat;
[number,ratio,loc] = symerr([1 2; 3 4],[1 3],'overall')
number = 
       3       

ratio = 
       3/4     

loc = 
       0              1       
       1              1       

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

свернуть все

Первый ввод для сравнения, заданный как вектор или матрица.

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

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

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

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

  • 'overall' –– x и y сравнивают по элементам.

  • 'column-wise' -- м-й ряд x vs. m-й ряд y.

  • 'row-wise' -- м-й столбец x vs. m-ый столбец y.

Дополнительные сведения см. в разделе Определение сравнения элементов

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

свернуть все

Количество элементов, различающихся между x и y, возвращается как скаляр или вектор. Размер number определяется опциональным входом flg и по измерениям x и y. Дополнительные сведения см. в разделах Сравнение элементов по умолчанию и Определение сравнения элементов.

Отношение числа различающихся элементов, numberи общее число элементов меньшего входного сигнала, возвращаемое в виде скаляра.

Логический массив того же размера и размеров, что и x, и y, с соответствующими местоположениями ошибок между входами x и y. Элемент loc равно нулю, если соответствующее сравнение не дает расхождений, а в противном случае - нулю.

Подробнее

свернуть все

Сравнение элементов по умолчанию

symerr функция сравнивает двоичные представления элементов в x с теми, кто в y. При необязательном аргументе flg не указан, symerr использует форму входных данных x и y для определения метода сравнения элементов.

На приведенных ниже схемах показано, как формы x и y определить, какие элементы symerr сравнивает:

bit (or symbol) error comparison

  • Если x и y - матрицы одинаковых размеров, то symerr выдерживает сравнение x и y элемент за элементом. number является скаляром. См. схему (а) на рисунке.

  • Если один является вектором строки (соответственно, столбца), а другой является двумерной матрицей, то symerr сравнивает векторный элемент по элементам с каждой строкой (resp., column) матрицы. Длина вектора должна равняться количеству столбцов (соответственно, строк) в матрице. number - вектор столбца (resp., row), mth-запись которого указывает количество элементов, различающихся при сравнении вектора с mth-строкой (resp., column) матрицы. См. схемы b) и c) на рисунке.

Определение сравнения элементов

Использовать flg переопределение значений по умолчанию, определяющих элементы symerr сравнивает и как symerr вычисляет выходные данные. Значения flg являются 'overall', 'column-wise', и 'row-wise'. В таблице ниже описаны различия, возникающие в результате различных комбинаций входных данных. Во всех случаях: ratio является number деленное на общее количество элементов в y.

Сравнение двумерной матрицы x с другим входом y 

Форма yflgТип сравнениячисло
Две-тусклые. матрица 'overall' (по умолчанию) Элемент за элементом Общее число ошибок символов
'column-wise'м-й столбец x vs. m-ый столбец y Вектор строки, записи которого подсчитывают ошибки символов в каждом столбце
'row-wise'm-й ряд x vs. m-й ряд y Вектор столбца, записи которого подсчитывают ошибки символов в каждой строке
Вектор столбца 'overall' y по сравнению с каждым столбцом x Общее число ошибок символов
'column-wise' (по умолчанию) y по сравнению с каждым столбцом x Вектор строки, записи которого подсчитывают ошибки символов в каждом столбце x

Вектор строки

'overall'y по сравнению с каждой строкой x Общее число ошибок символов
'row-wise' (по умолчанию) y по сравнению с каждой строкой x Вектор столбца, записи которого подсчитывают ошибки символов в каждой строке x

См. также

| |

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