Finding a value in a column from a change in another column in a matrix?

1 visualizzazione (ultimi 30 giorni)
Given the matrix below:
1.1586 0.9381 3.0000
1.2265 0.6906 3.0000
1.2765 0.5432 3.0000
1.3266 0.4243 2.9999
1.3766 0.3302 2.9999
1.4267 0.2565 2.9997
How can I write the code which gives me the value in column 1, corresponding to the point in which column 3 changes from 3.0000 to 2.9999?

Risposta accettata

Thorsten
Thorsten il 3 Dic 2015
Modificato: Thorsten il 3 Dic 2015
ind = X(:,3) == 3.0 & [abs(abs(diff(X(:,3))) - 1e-4) < 1e-10; 0]
X(ind,1)
or
ind = X(1:end-1,3) == 3.0 & X(2:end,3) == 2.9999;
X(ind, 1)

Più risposte (1)

Eng. Fredius Magige
Eng. Fredius Magige il 3 Dic 2015
Modificato: Eng. Fredius Magige il 3 Dic 2015
Hi Use for in association with find function looking exact Nii_Ni=0.0001; note the last and first N need some manipulation, this could be controlled by if else

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by