symerr

Вычислите количество ошибок символа и коэффициента ошибок символа

Синтаксис

[number,ratio] = symerr(x,y)
[number,ratio] = symerr(x,y,flg)
[number,ratio,loc] = symerr(...)

Описание

Для всех синтаксисов

Функция symerr сравнивает бинарные представления элементов в x с теми в y. Схематика ниже иллюстрирует, как формы x и y определяют, какие элементы symerr сравнивает.

Вывод number является скаляром или вектором, который указывает на число элементов, которые отличаются. Размер number определяется дополнительным входом flg и размерностями x и y. Вывод ratio равняется number, разделенному на общее количество элементов в меньшем входе.

Для определенных синтаксисов

[number,ratio] = symerr(x,y) сравнивает элементы в x и y. Размеры x и y определяют, какие элементы сравнены:

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

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

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

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

Форма yflgТип сравненияномер
2D dim. матрица '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

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

Примеры

На странице с описанием для biterr последний пример использует symerr.

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

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

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 = 2×2

       0              1       
       1              1       

Смотрите также

| |

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

Для просмотра документации необходимо авторизоваться на сайте