How can I join two vectors (integer and decimal)?

I have two vectors for the same number (type double): one is the integer part and the other is the decimal part. Both the same lenght. Can I join them in one vector?
I have A = [1 2 3 4 5]; B = [6 7 8 9 10];
I want a vector C = [1.6 2.7 3.8 4.9 5.10];
Thanks in advance.

5 comentarios

dpb
dpb el 24 de Nov. de 2018
How would you do it w/ pencil and paper if required to "show your work?"
Can you do that in ML?
Antonio Amor
Antonio Amor el 24 de Nov. de 2018
I suposse that I would divide the decimal vector by 10^n, where n is the lenght of each number. Then, I would add the decimal and the integer vectors. But no, I can't do it in Matlab, it's my first day.
dpb
dpb el 24 de Nov. de 2018
Close but why the n? Your fraction is the tenth's location by the problem description.
What have you tried; have you worked through the "Getting Started" tutorials on Matlab syntax and operators (paying particular attention to array operations)?
Antonio Amor
Antonio Amor el 24 de Nov. de 2018
The n is because not all the numbers of the decimal vector have the same length.
That's what I am going to do: I'm going to read some tutorials. The problem is that the deadline for the work I have to do is next Tuesday and I have no idea!
Thank you so much!
dpb
dpb el 24 de Nov. de 2018
Ah! I didn't notice the actual numbers...good catch! I was going for the specific trivial answer.
Look up "dot" operators by reading section on Array vs. Matrix Operations for how to handle the array "the Matlab way".
How can you compute the magnitude of the values to which need respectifve power of B (a specific transcendental function may come to mind)???

Iniciar sesión para comentar.

 Respuesta aceptada

madhan ravi
madhan ravi el 24 de Nov. de 2018
Editada: madhan ravi el 24 de Nov. de 2018
One nasty way which is highly discouraged:
>> A = string([1 2 3 4 5]);
B = string([6 7 8 9 10]);
C=strcat(A,'.',B);
C=str2double(C)
C =
1.6000 2.7000 3.8000 4.9000 5.1000
>>

2 comentarios

Antonio Amor
Antonio Amor el 24 de Nov. de 2018
Nasty or elegant, is suitable and useful.
Thank you!
madhan ravi
madhan ravi el 24 de Nov. de 2018
Anytime :) , MATLAB makes life a lot more easier so take your classes seriously , it will help you in your higher studies, HAPPY MATLAB(ing).

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 24 de Nov. de 2018
C=A+B./10.^fix(log10(B)+1);

7 comentarios

madhan ravi
madhan ravi el 24 de Nov. de 2018
+1 efficient answer
dpb
dpb el 24 de Nov. de 2018
I didn't really want to post the solution but to try to lead OP towards it...but it appeared he bailed out early...
madhan ravi
madhan ravi el 24 de Nov. de 2018
Clearly understood @dpb :)
dpb
dpb el 24 de Nov. de 2018
Editada: dpb el 24 de Nov. de 2018
As were your self-deprecating comments to your "Answer"... :)
madhan ravi
madhan ravi el 24 de Nov. de 2018
That’s why your referred as a true motivator ❤️
dpb
dpb el 26 de Nov. de 2018
Editada: dpb el 26 de Nov. de 2018
Awwww...blushes... :)
madhan ravi
madhan ravi el 26 de Nov. de 2018
:)

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Preguntada:

el 24 de Nov. de 2018

Comentada:

el 26 de Nov. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by