行ベクトルのエントロピーを計算する必要がありますが、問題は、行ベクトルが uint32 型であり、Matlab がこの型が entropy() 関数でサポートされていないというエラーを返すことです。
uint32 を uint16 に変換しようとしましたが、これにより行ベクトルのサイズが大きくなり、0 という結果が返されました。
これについてどうすればよいか教えてください。
ありがとう!
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 は同じでなければなりません