How can I concatenate two or more arrays without using num2str?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Adriano
am 20 Feb. 2017
Beantwortet: Adriano
am 21 Feb. 2017
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
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.
Akzeptierte Antwort
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
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
am 20 Feb. 2017
I would max(1,log10(max(abs(B))))
though the desired outcome is not clear for negative values.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices 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!