wie zum Beispiel der Normalverteilung in matlab
Arbeite ich an einem pattern-recognition-Projekt und da möchte ich zum Beispiel eine 2-dimensionale Normalverteilung mit den gegebenen Parametern (Mittelwert und Kovarianz-matrix). Zum Beispiel, wenn ich 100 Proben von normalen Verteilung, ich benutze mvnrnd(mu,sigma,100)
wo mu und sigma sind davon ausgegangen, dass zur Verfügung. Aber mvnrnd
gibt 100 einzigartige Proben, aber ich will die Proben noch mit duplizierten Werte. (Ich meine, wie man 100 Stichproben aber nicht unbedingt mit eindeutigen Werten) Was soll ich tun?
- Ich sehe nichts in der Dokumentation, die sagt, es erzeugt einzigartige Muster.
- Außerdem, die Wahrscheinlichkeit, eine nicht-einzigartige Muster ist genau null.
- mit reellen zahlen, ja, aber nicht mit fixed precision floating-point-Arithmetik.
- OK. s/genau null/verschwindend klein zu dem Punkt des seins praktisch gegen null (oder was auch immer, ich meine, Sie tun können
mvnrnd(1, 1e-10, 2)
aber dann ist dein problem ist einfach schlecht gestellt)/. So oder so, @Oli Charlesworth korrekt ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es nicht sagen, überall in der
mvnrnd
Dokumentation, dass die Proben, die garantiert eindeutig sind, wenn Ihr problem ist gestellt, in einer angemessenen Art und Weise, dann sollte dies kein Problem sein sowieso.Entweder Weg, wenn du nicht zufrieden bist mit
mvnrnd
hat, sollte dies entspricht:R1 = chol(sigma)'*R
Check-out die
normrnd()
Funktion. Es erzeugt normal verteilte Zufallszahlen.Generieren
1-by-100
Vektor von normalverteilten Zufallszahlen mit dem Mittelwertmu
und Standardabweichungsigma
, verwenden Sie die folgende Anweisung.sigma*randn(1, 100) + mu
.sqrt(sigma)
(funktioniert nur für Skalare).sigma
ist die Standardabweichung.