"???In an assignment A(I) = B, the number of elements in B and I must be the same."

1 view (last 30 days)
I have two matrix A & B. Matrix A size 1x1013 double and matrix B size 1x12931 double. I want to convert each element of matrix A into base-N from matrix B. For example, first element of matrix A converted into first element of matrix B, second element of matrix A converted into second element of matrix B, and so on.
mm = length(A);
nn = length(B);
base = cell(1,mm);
for ff = 1:mm;
x(ff) = dec2base(A(ff),B(ff));
base{ff} = x;
end
I got error:
???In an assignment A(I) = B, the number of elements in B and I must be the same."
How to fix it? Thank you.

Answers (1)

Image Analyst
Image Analyst on 9 Feb 2013
Edited: Image Analyst on 9 Feb 2013
Use these lines:
for ff = 1:mm
x(ff) = str2double(dec2base(A(ff),B(ff)));
base{ff} = x(ff);
end
the issue was dec2base was returning a character string, not a number.
  5 Comments
Anisa
Anisa on 18 Feb 2013
I already tried your solution, but still got the same warning. Why?
mm = length(A);
nn = length(B);
base = cell(1,mm);
x = zeros(1,mm)
for ff = 1:mm
ff
AA=A(ff)
BB=B(ff)
x(ff) = str2double(dec2base(int32(AA),int32(BB)));
base{ff} = x(ff);
end

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!