Adding vectors in Matlab
32 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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.
Thanks a lot in advance and greetings,
Emma
4 comentarios
Star Strider
el 12 de Sept. de 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);
Respuesta aceptada
Andrei Bobrov
el 12 de Sept. de 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);
Más respuestas (0)
Ver también
Categorías
Más información sobre Curve Fitting Toolbox 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!