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.

 채택된 답변

Star Strider
Star Strider 2020년 9월 11일
편집: Star Strider 2020년 9월 11일

0 개 추천

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

Image Analyst
Image Analyst 2020년 9월 11일
And might also want <= or >= in case 7 exactly is in there.
aa
aa 2020년 9월 12일
hi , see this .. where to inset loops for generalzed calculation for each column
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

질문:

aa
2020년 9월 11일

댓글:

2020년 9월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by