Potrzebuję obliczyć odchylenie standardowe listy ogólnej. Spróbuję dołączyć mój kod. Jest to ogólna lista zawierająca dane. Dane to głównie floats i ints. Tu jest mój kod, który jest w stosunku do niej bez dostania się do większych szczegółach:Odchylenie standardowe listy ogólnej?
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);
}
Oto funkcja, gdzie potrzebuje odchylenie standardowe oblicza się:
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));
}
}
}
Ignoruj co jest wewnątrz LatchStdev() Funkcja, ponieważ jestem pewien, że to nie jest w porządku. To tylko moja słaba próba obliczenia st dev. Wiem, jak to zrobić z listą dubli, ale nie z listą ogólnej listy danych. Jeśli ktoś ma w tym doświadczenie, proszę o pomoc.
my C# nie ma ŚREDNIEJ. To się nie pokazuje. To jeden z moich problemów. Nie mogę również przekazać ogólnej listy przez moją funkcję jako parametry. Średnia musi być zaimplementowana wewnątrz stdevmethod jak mój kod powyżej. Moje odchylenie standardowe jest poza tym. –
Również faceci. C# nie ma średniej (Math.average). Więc obliczam średnią, tak jak mój kod powyżej. Jest to standardowe odchylenie, z którym mam najwięcej problemów. Dzięki –
@ Tom Hangler, upewnij się, że dodajesz 'using System.Linq;' na górze twojego pliku, aby dołączyć bibliotekę funkcji LINQ. THese obejmują zarówno 'Average()', jak i 'Select()' – LBushkin