Split vector into increasing and decreasing

How to split A vector as increasing and decreasing vectors. eg.
A=[1 1 2 2 3 3 8 9 4 3 2 2 2 1 0]
I want the output to be two vectors.
First should be the increasing one
[1 1 2 2 3 3 8 9]
Second should be the decreasing one
[4 3 2 2 2 1 0]
I have tried diff(), but the problem is with the repeating numbers which comes in between of increasing sequencce.

回答 (1 件)

Rik
Rik 2017 年 12 月 6 日

0 投票

A=[1 1 2 2 3 3 8 9 4 3 2 2 2 1 0];
idx=find(diff(A)<0,1);%only get the first value
part1=A(1:idx);
part2=A((idx+1):end);

製品

タグ

質問済み:

2017 年 12 月 6 日

回答済み:

Rik
2017 年 12 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by