How can I concatenate two or more arrays without using num2str?

1 Ansicht (letzte 30 Tage)
For example if I have two vertical arrays:
A = [1;2] B = [3;4]
I need this output:
C = [13; 24]
The problem is that my arrays have many rows, thus num2str is too slow. What can I do? Thanks!!!
  2 Kommentare
Adam
Adam am 20 Feb. 2017
I can't help but think of the joke of someone asking for directions to somewhere and being told 'Well, if I were you I wouldn't start from here'.
There may be better suggestions based on the wider context of the code than already having A and B defined.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

John D'Errico
John D'Errico am 20 Feb. 2017
Bearbeitet: John D'Errico am 20 Feb. 2017
The most obvious solution is to appreciate how a number is constructed in decimal form. So, rather than convert to characters, then concatenate, and then go back in to numeric form, simply use base 10.
C = 10*A + B;
  3 Kommentare
John D'Errico
John D'Errico am 20 Feb. 2017
True. I expect that whenever I see an example with one digit integers, the real problem is always more complex. :)
Walter Roberson
Walter Roberson am 20 Feb. 2017
I would max(1,log10(max(abs(B))))
though the desired outcome is not clear for negative values.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Adriano
Adriano am 21 Feb. 2017
Many thanks!!!!

Kategorien

Mehr zu Numeric Types 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