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'mth строка x против mth строка y.

  • 'row-wise'mth столбец x против mth столбец y.

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

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

свернуть все

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

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

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

Подробнее о

свернуть все

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

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

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

bit (or symbol) error comparison

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

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

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

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

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

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

Вектор-строка

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

См. также

| |

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