Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
NAverage: Extended mean calculation functionality for .NET
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

Themenstarter:

NAverage: Extended mean calculation functionality for .NET

beantworten | zitieren | melden

Hallo liebe Community!
Die Klassenbibliothek [TT]NAverage[/TT] bietet diverse Methoden zur Berechnung von Mittelwerten an. Mit LINQ hat die Erweiterungsmethode [TT]Enumerable.Average()[/TT] in das .NET-Framework Einzug gefunden, die das arithmetische Mittel einer numerischen Collection berechnet. Weitere Mittelwertsberechnungsmöglichkeiten fehlen jedoch und sollen durch diese Komponente ergänzt werden.

Zur Zeit wird die Berechnung folgender Mittelwerte unterstützt:

In den weiteren Beiträgen findet ihr die bereits kompilierte DLL sowie den Quelltext des Projektes. Hier habe ich die Methodensignaturen der statischen Klasse AverageExtensions angehängt, die sowohl Erweiterungsmethoden als auch statische Methoden zur Mittelwertsberechnung zur Verfügung stellt.

m0rius

P.S: Vielen Dank an zommi für seine Hilfe bei der Implementierung der Funktionalität zur Berechnung des Modus bzw. der Modi!

Schlagwörter: NAverage, Average, Mean, Mittelwert, Mittel, Durchschnitt, Avg, Arithmetic, Arithmetisches, Geometric, Geometrisches, Arithmetic-Geometric, Arithmetisch-Geometrisches, Harmonic, Harmonisches, Quadratic, Quadratisches, Truncated, Trunkiertes, Winsorized, Winsorisiertes, Median, Mode, Modusk, Modes, Modi, Midrange, Spannweitenmitte
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von m0rius am .
Attachments
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

Themenstarter:

beantworten | zitieren | melden

Hier die DLL ...
Attachments
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

Themenstarter:

beantworten | zitieren | melden

... und der Quellcode des Projektes.
Attachments
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

Themenstarter:

beantworten | zitieren | melden

Hallo zusammen,

NAverage gibt es nun auch auf CodePlex unter http://naverage.codeplex.com.

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
Tomot
myCSharp.de - Member

Avatar #avatar-2678.jpg


Dabei seit:
Beiträge: 706
Herkunft: Düsseldorf

beantworten | zitieren | melden

Hallo,
mir ist ein Verbesserungsvorschlag aufgefallen.

Die Rechenzeit um den Median eines IEnumerable zu finden kannst du noch verkürzen.
Wenn ich das eben aus der MSDN richtig gelesen habe, dann wird dein Median in O(n*log(n)) bestimmt, wobei n die Anzahl der Listenelemente ist.

Solltest du noch Spaß am verbessern haben, dann kannst du die Strategie "Median der Mediane" implementieren, die den Median in O(n) bestimmt
mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

Themenstarter:

beantworten | zitieren | melden

Hallo Tomit,

vielen Dank für deinen Verbesserungsvorschlag!
Ich werde mal sehen, wann und ob ich dazu komme, die Berechnung zu optimieren – zur Zeit habe ich ziemlich viel um die Ohren.

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

Themenstarter:

beantworten | zitieren | melden

Hallo zusammen,

NAverage ist nun GitHub zu finden, genau wie ExtraLINQ auch.

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers