Effacer les filtres
Effacer les filtres

How to choose a column where the min of the first row is

1 vue (au cours des 30 derniers jours)
Reuben
Reuben le 9 Fév 2014
Commenté : Reuben le 9 Fév 2014
Hello! I am new to Matlab and having a tough time doing the following. I have a set of distances computed for each respective time.
where all the list of distances is stored as 'd' and each RESPECTIVE time these distances occur at is 't'
I made a matrix A = [d;t]. Essentially...I want to find out the respective time value when d is minimum.
I tried to pick out the row as
>> A(2,min(d)). Obviously I see now how that doesn't work since its the column number and not for that value.
Is there anyway matlab can recognize which column number that min(d) exists...and then display the WHOLE column so i can also see the respective time value it exists at. Thanks!
FOR EXAMPLE:
a = [ 5 4 1 3 ] b = [ 1 2 3 4 ]
H = [a;b]
I want to display the column [1;3] since min(a) exists in this column. I need to keep each b value tied to each a however.

Réponse acceptée

Mischa Kim
Mischa Kim le 9 Fév 2014
Modifié(e) : Mischa Kim le 9 Fév 2014
Use
G = H(:,a==min(a))
or, the more general approach avoiding reference to a,
G = H(:,H(1,:)==min(H(1,:)))

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 9 Fév 2014
a = [ 5 4 1 3 ]
b = [ 1 2 3 4 ]
[mina,idx]=min(a);
your_column=[mina;b(idx)]

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by