Tengo dos matrices de dobles del mismo tamaño, con valores X e Y para algunos gráficos.Filtrar dos matrices para evitar valores de Inf/NaN
Necesito crear algún tipo de protección contra los valores INF/NaN. Necesito encontrar todo lo que los pares de valores (X, Y) para los que ambos, X e Y no están INF ni NaN
Si tengo una matriz, que pueden hacer que el uso de lambdas:
var filteredValues = someValues.Where(d=> !(double.IsNaN(d) || double.IsInfinity(d))).ToList();
ahora, para los dos conjuntos utilizo el siguiente bucle:
List<double> filteredX=new List<double>();
List<double> filteredY=new List<double>();
for(int i=0;i<XValues.Count;i++)
{
if(!double.IsNan(XValues[i]) &&
!double.IsInfinity(XValues[i]) &&
!double.IsNan(YValues[i]) &&
!double.IsInfinity(YValues[i]))
{
filteredX.Add(XValues[i]);
filteredY.Add(YValues[i]);
}
}
¿hay una manera de filtrar dos matrices al mismo tiempo utilizando LINQ/lambdas, como se hizo para la única matriz?
Lamentablemente solo puedo usar .NET 3.5.
ligero error en su declaración. filteredX se declara dos veces. Estoy seguro de que quisiste decir "filtrado" para uno de ellos. : D –
¡Gracias! :) Editado. – Gacek
Lo que buscas es bastante factible en .NET 3.5. Ver mi respuesta –