Error using bitxor Matrix dimensions must agree. key1=bitxor(a,b);and key=imresize(key1,[1 256])

1 回表示 (過去 30 日間)
%key generation
a=uint16(dec2bin(sud1));
b=uint16(dec2bin(sud2,8));
key1=bitxor(a,b);
key=imresize(key1,[1 256])
  1 件のコメント
Praveen  kumar
Praveen kumar 2016 年 3 月 11 日
編集済み: Walter Roberson 2016 年 3 月 12 日
key=imresize(key1,[1,1],256)
is showing the warning to terminate the statement to suppress the output wit in the script

サインインしてコメントする。

採用された回答

Roger Stafford
Roger Stafford 2016 年 3 月 11 日
編集済み: Roger Stafford 2016 年 3 月 11 日
As you have written the code, the numbers of elements in 'a' and in 'b' depend on how many bits are required to represent 'sud1' and 'sud2', respectively. It is very easy for these to be different, in which case 'bitxor' would give you an error. You need to use the form 'dec2bin(d,n)' for both quantities in which n is the same in both and large enough to guarantee that there will be exactly n bits in each string. For example, if sud1 = 1234 and sud2 = 12345, then n = 14 would cause both strings to have 14 bits, (even though 'a' would have 3 leading zeros beyond the minimum 11 it needs.)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEntering Commands についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by