Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
Anisa
Anisa am 9 Feb. 2013
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.

Antworten (1)

Image Analyst
Image Analyst am 9 Feb. 2013
Bearbeitet: Image Analyst am 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 Kommentare
Image Analyst
Image Analyst am 9 Feb. 2013
Cast your A to int32 before you run the loop.
Anisa
Anisa am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by