was ich jetzt aber möchte ist, dass ich nur A,x0 und y0 angebe und mir das sigma (der einfachheit soll erstmal sigma_x = sigma_y sein, später wärs auch schick, wenn er mir alle Lösungen ausspuckt) berechnet wird, bei dem das Integral über den Gaussian den Wert 1 annimmt, bzw. einen von mir definierten Wert wär am besten!
Hab versucht es Symbolisch über int() und solve() zu lösen, er bricht mir aber mit der Meldung ab, dass er keine explizite Lösung finden kann.
ein 2D-Gauss definiert sich doch über seine Amplitude A am Punkt (x0,y0) und die Standardabweichung Sigma. Der so erzeugt Gauss besitzt dann ein definiertes Volumen, sein Integral.
Was ich möchte ist, eine Amplitude am Punkt (x0,y0) und das Integral vorgeben und mir das dazu nötige Sigma berechnen lassen.
Ich dachte das würde so gehn, dass ich z.B int(gauss(A,x0,y0))=1 mit A=1, x0 = 0 und y0 = 0 setzte und dann das ganze nach sigma auflöse?
mhh, du meinst quasi das dann iterativ zu lösen? das integral mit quad berechnen und sigma so lange ändern bis quad das von mir gewünschte Integral liefert?
Problem dürfte da der Zeitaufwand werden, wenn ich 1000de von Gauss auf diese Weise berechne -.-
sorry, versteh es nicht, fzero sucht ja nach Nullstellen, wie hilft mir das weiter? meinst du ich soll den Wendepunkt suchen? kannst du vielleicht kurz anzeigen wie der Code dazu aussehn würde? weil ich steh voll auf dem Schlauch
Ich gehe davon aus, dass deine buildGaussian von dem ' nach x abgesehen stimmt. Oder willst du da eigtl Doppelintegrale berechnen?? Dann stimmt die buildGaussian nicht, und du solltest dblquad verwenden.
leider ist es recht langsam, wenn man an die 100-1000 Sigmas auf diese Weise berechnen möchte, aber jetzt hab ich was mit dem kann ich erstmal weiterarbeiten...
ich hab mir deinen ursprünglichen Beitrag noch einmal angesehen und würde sagen, dass A = [ a b; b c ] ist. Vergleich das doch mal für einen Satz a,b,c und schau, ob das stimmt. Wenn ja, kannst du ja immer mit der Wiki-Formel rechnen.
moin, habs mal ausprobiert, und die Integral die mit dblquad liefert mit dem Integral der Formel auf Wiki verglichen, wenn signal = 2*sigma ist kommt das gleiche Volumen raus, ansonsten unterscheiden sich die Ergebnisse oO hab auch mal Versucht nen Gauss auf diese Weise zu erzeugen, das klappt leider gar nicht, also im mom totale sackgasse aber ich poste mal das letzte
solltest du deine Werte a,b,c nicht in das Doppelintegral reinstecken? Die Berechnung mit dblquad scheint mir davon unabhängig. Vielleicht nochmal einen Schritt zurück und überlegen, was du nun eigtl berechnen willst?
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.