Вычислить количество ошибок символов и частоту ошибок символов
Сравнение элементов матрицы с другой матрицей
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
x - Первый ввод для сравненияПервый ввод для сравнения, заданный как вектор или матрица.
Типы данных: double
y - Второй ввод для сравненияВторой ввод для сравнения, заданный как вектор или матрица.
Типы данных: double
flg - Тип сравнения элементов'overall' | 'column-wise' | 'row-wise'Необязательный аргумент для переопределения значений по умолчанию, определяющих элементы symerr сравнивает и как symerr вычисляет выходные данные.
'overall' –– x и y сравнивают по элементам.
'column-wise' -- м-й ряд x vs. m-й ряд y.
'row-wise' -- м-й столбец x vs. m-ый столбец y.
Дополнительные сведения см. в разделе Определение сравнения элементов
number - Количество различных элементовКоличество элементов, различающихся между x и y, возвращается как скаляр или вектор. Размер number определяется опциональным входом flg и по измерениям x и y. Дополнительные сведения см. в разделах Сравнение элементов по умолчанию и Определение сравнения элементов.
ratio - Соотношение различающихся элементовОтношение числа различающихся элементов, numberи общее число элементов меньшего входного сигнала, возвращаемое в виде скаляра.
symerr функция сравнивает двоичные представления элементов в x с теми, кто в y. При необязательном аргументе flg не указан, symerr использует форму входных данных x и y для определения метода сравнения элементов.
На приведенных ниже схемах показано, как формы x и y определить, какие элементы symerr сравнивает:

Если 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
| Форма y | flg | Тип сравнения | число |
|---|---|---|---|
| Две-тусклые. матрица | '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
|
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.