Wie erstellen Sie 3D-joint density plot MATLAB?
Ich 'm haben ein problem mit der Erstellung einer gemeinsamen Dichte-Funktion von Daten. Was ich habe, ist die queue-Größen von einem Lager als zwei Vektoren gespeichert:
X = [askQueueSize bidQueueSize];
Dann benutze ich die hist3-Funktion zu erstellen, die ein 3D-Histogramm. Dies ist, was ich bekomme:
http://dl.dropbox.com/u/709705/hist-plot.png
Was ich will, ist um die Z-Achse normalisiert, so dass es geht aus [0 1].
Wie mache ich das? Oder mache jemanden eine große gemeinsame Dichte matlab Funktion auf Lager?
Dies ist ähnlich wie ( Gewusst wie: zeichnen von Wahrscheinlichkeits-Dichte-Funktion in MatLab? ), aber in 2D.
Was ich will, ist 3D mit x:ask queue, y:bid queue, z:probability
.
Wäre dankbar, wenn mir jemand helfen könnte, da habe ich eine Wand schlagen hier.
InformationsquelleAutor Groot | 2012-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich konnte nicht sehen, eine einfache Möglichkeit dies zu tun. Sie können das Histogramm zählt zurück von hist3 mit
und die Idee wäre, normalisieren Sie mit:
aber ich kann nicht finden, eine schöne Art zu zeichnen Sie wieder ein Histogramm danach (können Sie
bar3(N)
, aber ich denke, dass die Achsenbezeichnungen müssen manuell eingestellt werden).Die Lösung, die ich landete mit umfasst, ändern Sie den code der
hist3
. Wenn Sie den Zugriff auf diese (edit hist3
), dann kann dies für Sie arbeiten, aber ich bin mir nicht wirklich sicher, was die rechtliche situation (Sie benötigen eine Lizenz für das Statistik-toolbox, wenn Sie kopieren hist3 und es selbst ändern, dies ist wahrscheinlich nicht legal).Jedenfalls fand ich den Ort, wo die Daten aufbereitet für ein
surf
Grundstück. Es gibt 3 Matrizen die entsprechenden x -, y -, und z ist. Kurz bevor der Inhalt der z-matrix berechnet wurden (Linie 256), die ich eingefügt:welche normalisiert die count-matrix.
Endlich mal das Histogramm gezeichnet wird, können Sie die Achs-Grenzen mit:
wenn nötig.
InformationsquelleAutor Richante
Mit Hilfe von einem Kerl bei mathworks forum, das ist die große Lösung, die ich endete mit:
(data_x und data_y sind Werte, die Sie berechnen möchten bei hist3)
Dies gab mir den joint density plot in 3D. Das kann überprüft werden, indem die Berechnung der Integrale über die Oberfläche mit:
Wenn die variable Schritt geht auf null die variable integralOverDensityPlot geht um 1.0
Hoffe, dies hilft jemand!
InformationsquelleAutor Groot
Es ist eine schnelle Art und Weise, wie dies mit hist3 Funktion:
Wenn Sie "integrieren" erhältst du 1.
InformationsquelleAutor Galina Alperovich