Index with min command
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi
I am working with the minimums calculated from two arrays in the following way -
NE = 100;
t = linspace(0,2,2*NE);
T = linspace(0,1,2*NE);
for ii = 1:NE
[val,index] = min(abs(t-T(ii)))
end
now i understand the value of "val", but i cannot figure out how the values for "index" are coming out. For my work the value of index is very important. I would really appreciate if someone help me figure it out.
Thanks
Hossain
2 comentarios
Respuestas (2)
Azzi Abdelmalek
el 18 de Nov. de 2012
Editada: Azzi Abdelmalek
el 18 de Nov. de 2012
NE = 100;
t = linspace(0,2,2*NE);
T = linspace(0,1,2*NE);
val=[];
index=[];
for ii = 1:NE
[val1,index1] = min(abs(t-T(ii)))
val=[val val1];
index=[index index1];
end
index is the position of the min value in the vector t
3 comentarios
Azzi Abdelmalek
el 18 de Nov. de 2012
Editada: Azzi Abdelmalek
el 18 de Nov. de 2012
It's clear min value don't belong to t, it's the position of the value of t making t-T(ii) minimal. And I did'nt say it's a minimal value of t
Jan
el 19 de Nov. de 2012
Editada: Jan
el 19 de Nov. de 2012
Ok, then I confuse "index is the position of the min value in the vector t" with "...of the vector t". My English is not firm.
The problem of the OP is exactly, that the meaning of the index is not clear. So this point should be very clear, although it is almost trivial.
Jan
el 18 de Nov. de 2012
At first you create a temporary vector:
v = abs(t-T(ii));
Then you find its minimum value and the corresponding index:
[val, index] = min(v)
such that v(index) has the value val.
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!