1

行ベクトルのエントロピーを計算する必要がありますが、問題は、行ベクトルが uint32 型であり、Matlab がこの型が entropy() 関数でサポートされていないというエラーを返すことです。

uint32 を uint16 に変換しようとしましたが、これにより行ベクトルのサイズが大きくなり、0 という結果が返されました。

これについてどうすればよいか教えてください。

ありがとう!

4

2 に答える 2

1

uint32 ベクトルを double のベクトルに変換すると、動作するはずです

a = randi([0 1],1,100); % original vector

b = uint32(a); % convert a into a uint32 vector
b = uint16(b); % make b a uint16 vector
d = double(b); % convert b into double vector

ent_a = entropy(a)
ent_b = entropy(b)
ent_d = entropy(d)

ent_a と ent_d は同じでなければなりません

于 2014-07-11T13:16:54.420 に答える