Hi everyone,
May someone help me.
I have data in column and want to split this in two set by the condition of third point:
For example,
a=[1,4,6,9,13,17,20];
If we have 7 as a spliting number than the output is
[1,4,6]
and
[9,13,17,20]
I need generazlied function to compute this.

 Akzeptierte Antwort

Star Strider
Star Strider am 11 Sep. 2020
Bearbeitet: Star Strider am 11 Sep. 2020

0 Stimmen

Use logical indexing‘:
a=[1,4,6,9,13,17,20];
b1 = a(a<7)
b2 = a(a>7)
producing:
b1 =
1 4 6
b2 =
9 13 17 20
EDIT —
A ‘generalized function’ version would be something like this:
vsplit = @(v,n) {v(v<n); v(v>n)};
b = vsplit(a,7)
b1 = b{1}
b2 = b{2}
The result is the same.

3 Kommentare

Image Analyst
Image Analyst am 11 Sep. 2020
And might also want <= or >= in case 7 exactly is in there.
aa
aa am 12 Sep. 2020
hi , see this .. where to inset loops for generalzed calculation for each column
Star Strider
Star Strider am 12 Sep. 2020
This could work:
if (all(a > c)) || (all(a < c))
return
end
I tested that as well as I could. I runs without error and (if I understand correctly what you want to do) produces the correct result.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Gefragt:

aa
am 11 Sep. 2020

Kommentiert:

am 12 Sep. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by