Azzera filtri
Azzera filtri

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

2 visualizzazioni (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

Community Treasure Hunt

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

Start Hunting!

Translated by