How can I concatenate two or more arrays without using num2str?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Adriano
el 20 de Feb. de 2017
Respondida: Adriano
el 21 de Feb. de 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 comentarios
Adam
el 20 de Feb. de 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.
Respuesta aceptada
John D'Errico
el 20 de Feb. de 2017
Editada: John D'Errico
el 20 de Feb. de 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 comentarios
John D'Errico
el 20 de Feb. de 2017
True. I expect that whenever I see an example with one digit integers, the real problem is always more complex. :)
Walter Roberson
el 20 de Feb. de 2017
I would max(1,log10(max(abs(B))))
though the desired outcome is not clear for negative values.
Más respuestas (1)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!