J'ai besoin de calculer l'écart-type d'une liste générique. Je vais essayer d'inclure mon code. C'est une liste générique avec des données. Les données sont principalement des floats et des ints. Voici mon code qui est par rapport à sans entrer dans de plus de détails:Déviation standard de la liste générique?
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);
}
Voici la fonction où l'écart-type doit être calculée:
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 ce qui est à l'intérieur du LatchStdev() Fonction parce que je suis sûr que ce n'est pas correct. C'est juste ma pauvre tentative de calculer le st dév. Je sais comment le faire d'une liste de doubles, cependant pas d'une liste de liste générique de données. Si quelqu'un a de l'expérience dans ce domaine, aidez s'il vous plaît.
mon C# n'a pas de moyenne. Ça ne se montre pas. C'est l'un de mes problèmes. Aussi, je ne peux pas passer une liste générique à travers ma fonction en tant que paramètres. Le moyen doit être implémenté dans le stdevmethod comme mon code ci-dessus. Mon écart-type est éteint. –
Aussi les gars. C# n'a pas la moyenne (Math.average). Donc, je calcule la moyenne moi-même comme mon code ci-dessus. C'est l'écart-type avec lequel j'ai le plus de problèmes. Merci –
@Tom Hangler, assurez-vous d'ajouter 'using System.Linq;' en haut de votre fichier pour inclure la bibliothèque de fonctions LINQ. Ils comprennent à la fois 'Average()' et 'Select()' – LBushkin