|
|
|
|
Naja, custom. Ich fänds schon cool wenn irgendeiner mit anständigem AA rendern würde
|
|
|
|
|
|
|
Hat jemand ein paar Buchtitel, um seine Skills im Bereich Softwareentwicklung zu verbessern? Also gute Bücher wie Clean Code z.B
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code Complete
¤: The Art of readable Code ist auch super
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 13.09.2014 11:03]
|
|
|
|
|
|
Wie kombiniere ich mehrere bedingte Wahrscheinlichkeiten für das gleiche Ereignis, um die Gesamtwahrscheinlichkeit für das Ereignis zu erhalten? D.h. ich habe P(A/X)= 0,5, P(A/Y)= 0.25 und will P(A/XundY).
Die Motivation dahinter ist, dass ich im Höhe/Zeit-Verhalten eines Eingangssignals Patterns identifizieren kann und für jedes Pattern eine Wahrscheinlichkeit habe, was das direkt im Anschluss darauf folgende Verhalten des Signals sein wird. Patterns können gleichzeitig auftreten, also auch Teil voneinander sein, denn das Signal hat eine fraktale Struktur. Ich möchte an jedem beliebigen beliebigen Zeitpunkt anhand der gerade erkannten Patterns die Wahrscheinlichkeit für ein bestimmtes nächstes Verhalten des Eingangssignales errechnen.
Mir wurde ein simples Scoring-System gegeben, das bestimmte Patterns anhand ihrer historischen Voraussagekraft Punkte zuweist und wenn die Summe dieser Punkte einen bestimmten Wert überschreitet, wird eine Voraussage für das nächste Verhalten gemacht. Das hat aber nur eine Erfolgsquote von so 50%-60%. Ich will das intellenter lösen.
|
|
|
|
|
|
|
Ohne Informationen über die Abhängigkeit der Ereignisse kann man dazu keine Aussage machen. Selbst die Unabhängigkeit von X und Y reicht meiner Meinung nach noch nicht dafür aus.
Hast Du genügend Messdaten, um die Wahrscheinlichkeiten einiger Ereignisse vernünftig abzuschätzen?
Wenn wir X und Y als unabhängig annehmen (keine Ahnung, ob diese Annahme gerechtfertigt ist), erhält man, sofern ich mich nicht verrechnet habe:
Oder einfach eine lange Messung machen und die interessanten bedingten Wahrscheinlichkeiten empirisch bestimmen...
|
|
|
|
|
|
|
Messdaten habe ich mehr als genug, das ist kein Problem.
|
|
|
|
|
|
|
Dann mach es empirisch (für die bedingten Wahrscheinlichkeiten, die Du kennst, hast Du es ja vermutlich auch so gemacht).
|
|
|
|
|
|
|
Ich suche eine Übersicht über die "Koordinatenformen" (was wahrscheinlich auch die falsche Bezeichnung ist) geometrischer Körper.
Beispiel: Eine Ellipse mit dem Mittelpunkt 0
Solche Dinger kommen immer mal in Vorlesungen vor, auch bspw. als Ergebnis von Hauptachsentransformationen, aber es muss doch auch irgendwo eine ordentliche Übersicht geben.
|
|
|
|
|
|
|
Such mal unter dem Stichwort Kegelschnitte. Ansonsten erinnere ich mich an einen sehr umfangreichen Abschnitt in dem pinken(!), dicken Lineare Algebra-Buch*. Aber leider fällt mir der Name nicht mehr ein.
*) ¤DIT: Anton. War mal pink, nicht mehr. Da gibt es irgendwie "Die Geometrie linearer Operatoren im R^2" oder so.
May the force be with you!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Wraith of Seth am 13.09.2014 21:04]
|
|
|
|
|
|
Eine Ellipse ist nichtmal ein Körper.
Jaja, ich weiß. Haarspalterei
|
|
|
|
|
|
C++
|
Ich schnuppere grad mal in Unit Tests rein und bastel da son bisschen mit Google Test rum. Jetzt hab ich eine Funktion, relativ simpel, die mir was umrechnet. Bekommt nen Gleitkommawert, gibt nen Gleitkommawert zurueck. Ist also ein Template (fuer float, double, long double). Dann gibts noch ne zweite Funktion mit der Umkehrfunktion dieser Berechnung.
Darauf will ich jetzt Tests laufen lassen. Und zwar wuerde ichs geil finden, das fuer jeden moeglichen Wert, den ein float, double oder long double haben kann, zu testen.
Automatisiert fuer verschiedene Typen zu testen ist mit Typed Tests easy, aber alle Werte eines floats durchzugehen, kein Plan.
Jemand ne Idee?
|
|
|
|
|
|
|
| Zitat von MCignaz
Darauf will ich jetzt Tests laufen lassen. Und zwar wuerde ichs geil finden, das fuer jeden moeglichen Wert, den ein float, double oder long double haben kann, zu testen.
| |
Es macht Sinn "Klassen" für Testwerte zu bilden und dann jeweils nur einen Wert (oder einige wenige) aus dieser Klasse zu testen. In einer Klasse fasst du optimaler Weise alle Werte zusammen, die höchstwahrscheinlich das selbe Verhalten haben. Das Bilden dieser Klassen ist natürlich kritisch, reduziert allerdings den Aufwand enorm.
Wenn du tatsächlich alle möglichen Eingabewerte durchgehst, ist das eher eine Verifizierung als Testen.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Renga am 13.09.2014 22:41]
|
|
|
|
|
|
| Zitat von MCignaz
Darauf will ich jetzt Tests laufen lassen. Und zwar wuerde ichs geil finden, das fuer jeden moeglichen Wert, den ein float, double oder long double haben kann, zu testen.
| |
Welcher Wertebereich hat ein double ca? Je nach Plattform 2^64 oder 2^80 (plus minus ein paar ungültige Kombinationen, die nicht ins Gewicht fallen
/e: Renga: Verfizieren dürfte hier formal erheblich schneller gehen als 3**(2**80) auszuprobieren...
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 13.09.2014 22:43]
|
|
|
|
|
|
| Zitat von SwissBushIndian
Code Complete
¤: The Art of readable Code ist auch super
| |
Eher generell.
Danke euch, da schau ich erstmal rein.
|
|
|
|
|
|
|
| Zitat von csde_rats
| Zitat von MCignaz
Darauf will ich jetzt Tests laufen lassen. Und zwar wuerde ichs geil finden, das fuer jeden moeglichen Wert, den ein float, double oder long double haben kann, zu testen.
| |
Welcher Wertebereich hat ein double ca? Je nach Plattform 2^64 oder 2^80 (plus minus ein paar ungültige Kombinationen, die nicht ins Gewicht fallen
/e: Renga: Verfizieren dürfte hier formal erheblich schneller gehen als 3**(2**80) auszuprobieren...
| |
Wolframalpha verrät mir, dass diese Zahl 10**23 Dezimalstellen hat
|
|
|
|
|
|
|
Ok, dann eben verifizieren. Das ist eh nur Gespiele bei dem mir diese Idee kam. Ich hab absolut keine Idee, wie ich das machen koennte.
|
|
|
|
|
|
|
| Zitat von Wraith of Seth
Such mal unter dem Stichwort Kegelschnitte. Ansonsten erinnere ich mich an einen sehr umfangreichen Abschnitt in dem pinken(!), dicken Lineare Algebra-Buch*. Aber leider fällt mir der Name nicht mehr ein.
*) ¤DIT: Anton. War mal pink, nicht mehr. Da gibt es irgendwie "Die Geometrie linearer Operatoren im R^2" oder so.
May the force be with you!
| |
Ist schon mal gut für bestimmte Fälle, aber ich bräuchte auch so Figuren wie Zylinder im R^3.
... Hrmpf, ich glaube ich geh mir die einfach jetzt von den jeweiligen Wiki-Seiten zusammenklauben.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Snowblind1911 am 13.09.2014 23:26]
|
|
|
|
|
|
| Zitat von MCignaz
Ok, dann eben verifizieren. Das ist eh nur Gespiele bei dem mir diese Idee kam. Ich hab absolut keine Idee, wie ich das machen koennte.
| |
Man kann ja trotzdem testen. Bei Unit-Tests ist der Parameterraum eigentlich immer nahezu unendlich mal größer als die Zahl der Testfälle ...
|
|
|
|
|
|
|
Gut ich geb's auf.
|
|
|
|
|
|
|
Naja du kannst dich halt entweder damit beschäftigen, oder zumindest mal deine Funktion herzeigen, sodass man das am Beispiel erklären kann.
Oder du gibst auf, das geht natürlich auch immer.
|
|
|
|
|
|
|
| Zitat von csde_rats
| Zitat von csde_rats
| Zitat von MCignaz
Darauf will ich jetzt Tests laufen lassen. Und zwar wuerde ichs geil finden, das fuer jeden moeglichen Wert, den ein float, double oder long double haben kann, zu testen.
| |
Welcher Wertebereich hat ein double ca? Je nach Plattform 2^64 oder 2^80 (plus minus ein paar ungültige Kombinationen, die nicht ins Gewicht fallen
/e: Renga: Verfizieren dürfte hier formal erheblich schneller gehen als 3**(2**80) auszuprobieren...
| |
Wolframalpha verrät mir, dass diese Zahl 10**23 Dezimalstellen hat
| |
Stichwort Äquivalenzklassen. Also zB:
DBL_MAX, -DBL_MAX, DBL_MIN, -DBL_MIN, 0.
Wobei man bei Kommawerten immer aufpassen muss bei Vergleichen. Geringfügige Ungenauigkeiten bei Umrechnungen lassen die Vergleiche (==) fehlschlagen.
|
|
|
|
|
|
|
| Zitat von Snowblind1911
| Zitat von Wraith of Seth
Such mal unter dem Stichwort Kegelschnitte. Ansonsten erinnere ich mich an einen sehr umfangreichen Abschnitt in dem pinken(!), dicken Lineare Algebra-Buch*. Aber leider fällt mir der Name nicht mehr ein.
*) ¤DIT: Anton. War mal pink, nicht mehr. Da gibt es irgendwie "Die Geometrie linearer Operatoren im R^2" oder so.
May the force be with you!
| |
Ist schon mal gut für bestimmte Fälle, aber ich bräuchte auch so Figuren wie Zylinder im R^3.
... Hrmpf, ich glaube ich geh mir die einfach jetzt von den jeweiligen Wiki-Seiten zusammenklauben.
| |
Ansonsten ist das wohl früher oft unter klassischer Differentialgeometrie oder Differentialgeometrie von Kurven und Flächen gelaufen - du musst halt nur ein sehr beispiellastiges Buch finden. Mir leider noch nicht gelungen, meist sind selbst die "klassischen" DiffGeo-Bücher, die heute in dem Bereich empfohlen werden, sehr mathematisch aufgezogen und eher darauf aus, die Krümmungsbegriffe einzuführen als sich dumm und dusselig zu beweisen. Eventuell die späteren Bände vom Spivak.
Hey, you do your experiments - I do mine!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Wraith of Seth am 14.09.2014 1:42]
|
|
|
|
|
|
Danke auf jeden Fall!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Snowblind1911 am 14.09.2014 14:02]
|
|
|
|
|
|
| Zitat von csde_rats
Naja du kannst dich halt entweder damit beschäftigen, oder zumindest mal deine Funktion herzeigen, sodass man das am Beispiel erklären kann.
Oder du gibst auf, das geht natürlich auch immer.
| |
Ich hab die Frage wohl falsch gestellt. Unabhaengig von meinem Testkram: Wie kann ich alle Werte eines Floats durchiterieren?
|
|
|
|
|
|
|
Ohne schmutzige Tricks: gar nicht.
Floats haben eine Auflösung abhängig von der Größe des Wertes, entsprechend liefert
for(double x = DBL_MIN; x < DBL_MAX; x += DBL_MIN) {
...
nicht das erhoffte Ergebnis.
Und wie oben schon angedeutet: das geht rein zeitlich nicht. Ein float, gut, das geht. Double hat dann schon was um die 2**64 und long double um die 2**80 Werte.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 14.09.2014 15:12]
|
|
|
|
|
|
Warum nicht einfach einen uintNN_t nehmen, inkrementieren und casten? Da hat man auf jeden Fall alle möglichen float/double Werte mit dabei.
|
|
|
|
|
|
|
Das würde ich jetzt tendenziell als schmutzigen Trick einstufen
(v.a. da du meist keinen uint80_t haben dürftest... gut, dann kann man schmutziger werden und einen Union { struct { uint64_t a; uint16_t b; }; long double f; } machen, irgendwo noch packed dran und die Compiler und Plattformabhängigkeit ist komplett )
|
|
|
|
|
|
|
Einfach alle möglichen Exponenten-/Mantissenwerte iterieren und sich daraus die doubles zusammenbauen.
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XVII ( Code drunk, debug sober! ) |