Help me find the index value for first minimum value in a matrix.
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Divya Ganesan
el 29 de Mzo. de 2021
Editada: Walter Roberson
el 21 de Abr. de 2021
I have a matrix
A=[ 34 67 78 88 4 15 23 67 78 56 3 2 24 67]
First minimum value in this matrix is 4. (this is first drop). Index of 4 is 5.
After 4 many minimum value is there (i.e) 2.
I don't want to consider the other minimum value 2.
I want index of first minimum value (i.e first drop) as a output...
output =( first minimum value 4 and its index is 5)
someone please suggest me a code to solve this..
0 comentarios
Respuesta aceptada
Walter Roberson
el 29 de Mzo. de 2021
A=[ 34 67 78 88 4 15 23 67 78 56 3 2 24 67]
find(diff(A) < 0, 1)
0 comentarios
Más respuestas (2)
Bruno Luong
el 29 de Mzo. de 2021
[~,idx] = min(A)
5 comentarios
Bruno Luong
el 29 de Mzo. de 2021
Not sure your definition of "first drop", but try this
d=diff(A);
find(d(1:end-1)<=0 & d(2:end)>=0,1,'first')+1
Riley
el 29 de Mzo. de 2021
Editada: Riley
el 29 de Mzo. de 2021
A=[ 34 67 78 88 4 15 23 67 78 56 3 2 24 67];
flag=0;
for i=1:length(A)-1
if flag==0&&A(i+1)<A(i)
flag=1;
continue;
end
if flag==1&&A(i)<A(i+1)
first_min=A(i);
idx=i;
break;
else
flag=0;
end
end
first_min
idx
Hi, OP means original poster which is you here. The code above can find the first minimum value and its indice, only if 4 is the first drop. As you can see, if the number ahead of 4 is smaller than 88, this code fails. This is not the perfect solution. Hope you can find a better one.
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!