Info

この質問は閉じられています。 編集または回答するには再度開いてください。

how to solve index exceeds dimensions

1 回表示 (過去 30 日間)
Ayesha Punjabi
Ayesha Punjabi 2019 年 6 月 6 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
a is 1*80 bit matrix
b is 1*16 matrix. This remains same. All the 16 binary bits in b remains same
code is 1*16 matrix. Code variable changes and selects diffierent 16 binary bits. Each time it has random, different selection of binary bits.
bits = 5;
gain = 16;
for p = 1:bits
for m = 1:gain
position=m+(p-1)*gain;
a(position) = xor(b(position),code(m));
end
end
I am getting index exceeds dimensions error in a(position) = xor(b(position),code(m)); the idea is to put 1st xor(b and code) in first 16 bits of a, in 2nd run next xor(b and code) in 17-31 columns of a and so on.
Kindly help in solving the error.
  1 件のコメント
KSSV
KSSV 2019 年 6 月 7 日
In the loop position = 17. And you have b, code as 1x16...so obviously you will get this error.

回答 (1 件)

Debasish Samal
Debasish Samal 2019 年 6 月 7 日
In the line a(position) = xor(b(position),code(m));
The variable 'position' should not be used for indexing into b as it will exceed the size of b when m>1.
replace 'position' by m. That should solve the issue.
a(position) = xor(b(m),code(m));
Good Luck!

Community Treasure Hunt

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

Start Hunting!

Translated by