how to split data

43 vues (au cours des 30 derniers jours)
Tino
Tino le 4 Juin 2019
rx = [1
3
4
5
6
7
8
9
2
6]
Please how can I divide this data above to half to get x and y
x = [ 1 3 4 5 6 ]
y = [ 7 8 9 2 6]
thanks
  2 commentaires
madhan ravi
madhan ravi le 4 Juin 2019
What if it has 11 elements then ??
Tino
Tino le 4 Juin 2019
you ignore the last element

Connectez-vous pour commenter.

Réponses (2)

Stephen23
Stephen23 le 4 Juin 2019
Modifié(e) : Stephen23 le 4 Juin 2019
Why not just use basic MATLAB indexing?:
>> x = rx(1:5)
x =
1
3
4
5
6
>> y = rx(6:10)
y =
7
8
9
2
6
If you really want the output to be horizontal, simply add a transpose:
>> x = rx(1:5).'
x =
1 3 4 5 6

Star Strider
Star Strider le 4 Juin 2019
Another option:
M = reshape(rx(1:2*fix(numel(rx)/2)), fix(numel(rx)/2), []);
x = M(:,1)'
y = M(:,2)'
This automatically discards elements at the end that result in the length of ‘rx’ not being a multiple of 2, and produces the same result if ‘rx’ is a row or column vector. It only works correctly if ‘rx’ is a vector.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by