Finding corresponding values in data set
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
jrz
el 16 de Sept. de 2022
Comentada: Star Strider
el 16 de Sept. de 2022
I have a set of matrices each with 4 columns. I want to extract the value of the 1st column corresponding to the 0 in the second column and plot that point. How can I do this? and for cases where there is no exact zero, interpolate between the two values that cross 0?
2 comentarios
Walter Roberson
el 16 de Sept. de 2022
Is there always exactly one 0 or zero crossing, or could there be several?
are the values in that column sorted?
Respuesta aceptada
Star Strider
el 16 de Sept. de 2022
Editada: Star Strider
el 16 de Sept. de 2022
I would just do the interpolation using interp1 since it will interpolate to 0 or the closest value to it.
Try this —
M = randn(10,4)
L = size(M,1);
idx = find(diff(sign(M(:,2))))
for k = 1:numel(idx)
idxrng = max(1,idx(k)-1) : min(L,idx(k)+1);
Result(k,:) = interp1(M(idxrng,2), M(idxrng,:),0);
end
Result
EDIT — Aesthetic tweaks.
.
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Interpolation 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!