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 Kommentare

dpb
dpb am 24 Nov. 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 am 24 Nov. 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 am 24 Nov. 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 am 24 Nov. 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 am 24 Nov. 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)???

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

madhan ravi
madhan ravi am 24 Nov. 2018
Bearbeitet: madhan ravi am 24 Nov. 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 Kommentare

Antonio Amor
Antonio Amor am 24 Nov. 2018
Nasty or elegant, is suitable and useful.
Thank you!
madhan ravi
madhan ravi am 24 Nov. 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).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

dpb
dpb am 24 Nov. 2018

2 Stimmen

C=A+B./10.^fix(log10(B)+1);

7 Kommentare

madhan ravi
madhan ravi am 24 Nov. 2018
+1 efficient answer
dpb
dpb am 24 Nov. 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 am 24 Nov. 2018
Clearly understood @dpb :)
dpb
dpb am 24 Nov. 2018
Bearbeitet: dpb am 24 Nov. 2018
As were your self-deprecating comments to your "Answer"... :)
madhan ravi
madhan ravi am 24 Nov. 2018
That’s why your referred as a true motivator ❤️
dpb
dpb am 26 Nov. 2018
Bearbeitet: dpb am 26 Nov. 2018
Awwww...blushes... :)
madhan ravi
madhan ravi am 26 Nov. 2018
:)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by