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 Commenti

How would you do it w/ pencil and paper if required to "show your work?"
Can you do that in ML?
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.
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)?
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!
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)???

Accedi per commentare.

 Risposta accettata

madhan ravi
madhan ravi il 24 Nov 2018
Modificato: madhan ravi il 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 Commenti

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

Accedi per commentare.

Più risposte (1)

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

7 Commenti

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

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by