Desvio padrão da lista genérica? [duplicado
Esta pergunta já tem uma resposta aqui:
Como determinar o desvio padrão (stddev) de um conjunto de valore 12 respostasesvio padrão no LINQ 5 respostasPreciso calcular o desvio padrão de uma lista genérica. Vou tentar incluir meu código. É uma lista genérica com dados. Os dados são principalmente flutuadores e ints. Aqui está o meu código que é relativo a ele sem entrar em muitos detalhes:
namespace ValveTesterInterface
{
public class ValveDataResults
{
private List<ValveData> m_ValveResults;
public ValveDataResults()
{
if (m_ValveResults == null)
{
m_ValveResults = new List<ValveData>();
}
}
public void AddValveData(ValveData valve)
{
m_ValveResults.Add(valve);
}
Aqui está a função em que o desvio padrão precisa ser calculado:
public float LatchStdev()
{
float sumOfSqrs = 0;
float meanValue = 0;
foreach (ValveData value in m_ValveResults)
{
meanValue += value.LatchTime;
}
meanValue = (meanValue / m_ValveResults.Count) * 0.02f;
for (int i = 0; i <= m_ValveResults.Count; i++)
{
sumOfSqrs += Math.Pow((m_ValveResults - meanValue), 2);
}
return Math.Sqrt(sumOfSqrs /(m_ValveResults.Count - 1));
}
}
}
Ignore o que está dentro da função LatchStdev () porque tenho certeza que não está certo. É apenas minha péssima tentativa de calcular o st dev. Eu sei como fazê-lo de uma lista de duplos, no entanto, não de uma lista de lista de dados genéricos. Se alguém tiver experiência nisso, ajude.