Adding vectors in Matlab
13 views (last 30 days)
Show older comments
Hi! I have 4 different vectors and I need to add them like this:
mod1+lan1= x1
mod2+lan2= x2
But as you can see in the code the numbers are different.
mod1= [413 443 467 487 531 547 648 666 677 747 859 867 905 936 1388 1631 2121];
mod2= [mout8_c mout9_c mout3_c mout10_c mout11_c mout12_c mout1_c mout13_c mout14_c mout15_c mout2_c mout16_c mout17_c mout18_c mout26_c mout6_c mout7_c]
lan1= [485 560 660 815 1650 2215];
lan2=[out1_c out2_c out3_c out4_c out5_c out7_c]
So, what I've done for the x1 is:
x=[mod1 lan1];
x1= sort(x);
But the problem is on y because I need that the positions would be the same (like for example, on the position 413=mout8_c) but the numbers are totally diferents.
To sum up (maybe it's better if you look at this graph). I have that points and I need to add them in the order of each one.
![](https://www.mathworks.com/matlabcentral/images/broken_image.png)
Thanks a lot in advance and greetings,
Emma
4 Comments
Star Strider
on 12 Sep 2012
You don't need to sort them to do the regression. If the ‘mout’ values are scalars (as I assume), you can sort both vectors by the values in the x1 vector with the sort function.
If I understand you correctly, this would likely do what you want:
[x1s x1s_idx] = sort(x1);
and the corresponding x2 becomes:
x2s = x2(x1s_idx);
Accepted Answer
Andrei Bobrov
on 12 Sep 2012
mod1= [413 443 467 487 531 547 648 666 677 747 859 867 905 936 1388 1631 2121]';
lan1= [485 560 660 815 1650 2215]';
mod2 = { 'mout8_c' 'mout9_c' 'mout3_c' 'mout10_c' 'mout11_c' 'mout12_c' 'mout1_c' 'mout13_c' 'mout14_c' 'mout15_c' 'mout2_c' 'mout16_c' 'mout17_c' 'mout18_c' 'mout26_c' 'mout6_c' 'mout7_c'}';
lan2 = {'out1_c' 'out2_c' 'out3_c' 'out4_c' 'out5_c' 'out7_c'}';
[x1,i1] = sort([mod1;lan1]);
y = [mod2;lan2];
out = y(i1);
More Answers (0)
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!