最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

symerr

シンボル誤り数とシンボル誤り率の計算

構文

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

説明

すべての構文に対して

関数 symerr は、x の要素のバイナリ表現を、y の要素のバイナリ表現と比較します。次の図は、xy の形状によって symerr が比較する要素が決まる様子を示したものです。

出力 number は、異なる要素の数を示すスカラーまたはベクトルです。number のサイズは、オプションの入力 flg、および xy の次元により決まります。出力 ratio は、"小さな" 入力内の合計要素数で除算した number と同じです。

特定の構文に対して

[number,ratio] = symerr(x,y) は、xy の要素を比較します。xy のサイズにより、比較する要素が決定されます。

  • xy が同じ次元の行列である場合、symerrxy を要素ごとに比較します。number はスカラーです。図の (a) を参照してください。

  • 一方が行 (個々の列) ベクトルで、もう一方が 2 次元行列の場合、symerr はベクトルを要素ごとに、行列の "各行 (個々の列)" と比較します。ベクトルの長さは、行列の列 (個々の行) の数に等しくなければなりません。number は列 (個々の行) ベクトルであり、その m 番目のエントリは、ベクトルと行列の m 番目の行 (個々の列) を比較するとき異なるエントリ数を示します。図の (b) と (c) を参照してください。

[number,ratio] = symerr(x,y,flg) は、前の構文と基本的に同じですが、symerr が比較する要素、および symerr が出力を計算する方法を指定する既定値を flg がオーバーライドできる点が異なります。flg の値は、'overall''column-wise'、および 'row-wise' です。次の表では、さまざまな入力の組み合わせからの結果の違いを説明しています。いずれのケースでも、ratio は、y の合計要素数で除算した number です。

2 次元行列 x と他の入力 y との比較 

y の形状flg比較のタイプ
2 次元行列'overall' (既定の設定)要素ごとシンボル誤り総数
'column-wise'x の m 番目の列と y の m 番目の列を比較 エントリが各列のシンボル誤り数である行ベクトル
'row-wise'x の m 番目の行と y の m 番目の行を比較 エントリが各行のシンボル誤り数である列ベクトル
列ベクトル'overall' yx の各列を比較 シンボル誤り総数
'column-wise' (既定の設定)yx の各列を比較 エントリが x の各列のシンボル誤り数である行ベクトル

行ベクトル

'overall'yx の各行を比較 シンボル誤り総数
'row-wise' (既定の設定)yx の各行を比較 エントリが x の各行のシンボル誤り数である列ベクトル

[number,ratio,loc] = symerr(...) は、xy の異なる要素を示すバイナリ行列 loc を返します。この比較に矛盾がなければ loc の要素は 0 で、矛盾があれば 1 です。

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 より前に導入