Deleting unnecessary values in numerical array

1 Ansicht (letzte 30 Tage)
Nazar Adamchuk
Nazar Adamchuk am 15 Okt. 2021
Beantwortet: Chunru am 15 Okt. 2021
I have following ordered array (simplified):
1420 1
1410 1
1400 1
1390 0.9
1380 0.8
1370 0.7
...
1300 0
1290 0
1290 0
The first column is temperature, the second column is a physical quantity. I would need a solution how to cut the array so I have:
1400 1
1390 0.9
1380 0.8
1370 0.7
...
1300 0
So basically I need values between 1 and 0 meaning deleteing all unnecessary values before 1 and after 0. Can anybody help me?

Akzeptierte Antwort

Chunru
Chunru am 15 Okt. 2021
% Assume that your data in second column is sorted.
x = [
1420 1
1410 1
1400 1
1390 0.9
1380 0.8
1370 0.7
1300 0
1290 0
1290 0];
i1 = find(x(:,2)==1, 1, 'last')
i1 = 3
i2 = find(x(:,2)==0, 1, 'first')
i2 = 7
x1 = x(i1:i2, :)
x1 = 5×2
1.0e+03 * 1.4000 0.0010 1.3900 0.0009 1.3800 0.0008 1.3700 0.0007 1.3000 0

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by