How to find X value of given Y close to zero ?
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Terence
el 9 de Dic. de 2020
Comentada: Terence
el 10 de Dic. de 2020
Hello!
My question is How to find the value of Y more close to zero first (note Y consists of both positive and negative numbers) and then find the corresponding X value from a matrix ? Many thanks in advance.
For example: 6x6 matrix
338.00 339.00 340.00 341.00 342.00 343.00
1.00 -100.00 -100.00 -100.00 -100.00 -100.00 -100.00
2.00 100.00 100.00 100.00 100.00 100.00 100.00
3.00 0.28 0.12 -0.05 -0.21 -0.38 -0.55
4.00 0.28 0.12 -0.05 -0.21 -0.38 -0.55
5.00 8.21 8.24 8.26 8.28 8.30 8.32
6.00 8.21 8.24 8.26 8.28 8.30 8.32
To find the value closest to 0, which is -0.05 corresonding to the value 340. 340 is the output value.
0 comentarios
Respuesta aceptada
dpb
el 9 de Dic. de 2020
[~,ix]=min(abs(m),[],'all','linear');
[~,j]=ind2sub(size(m),ix);
>> o(j)
ans =
340
>>
Más respuestas (1)
Jon
el 9 de Dic. de 2020
Editada: Jon
el 9 de Dic. de 2020
Here's another approach that is maybe more obvious to understand
x = [338.00 339.00 340.00 341.00 342.00 343.00]
data = [ ...
-100.00 -100.00 -100.00 -100.00 -100.00 -100.00
100.00 100.00 100.00 100.00 100.00 100.00
0.28 0.12 -0.05 -0.21 -0.38 -0.55
0.28 0.12 -0.05 -0.21 -0.38 -0.55
8.21 8.24 8.26 8.28 8.30 8.32
8.21 8.24 8.26 8.28 8.30 8.32]
% find column locations of minimum
[~,icol] = min(abs(data)) % columns correspond to x values
% select the x value corresponding to the column where the minimum was found
% just need the first instance if there are more than one
xmin = x(icol(1))
10 comentarios
dpb
el 10 de Dic. de 2020
Glad to help...teaching as well as "just" answers is the goal of many of us here...
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!