|
|
Generierung von Zufallszahlen |
|
Fränky |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 11:52
Titel: Generierung von Zufallszahlen
|
|
Hallo,
ich habe folgendes Problem bei der Generierung zufälliger Kugelkoordinaten: Aufgrund der hohen Anzahl an Messpunkten X (ca 1,2 Mio) und meinem, nicht mehr ganz so neuen Rechnern, benötigt mein Ansatz sehr lange, um die gewünschte Anzahl an Punkten zu generieren.
Ist es möglich diesen Code hinsichtlich Geschwindigkeit noch zu optimieren? Oder würde ein anderer Ansatz zur Generierung von Kugelkoordinaten für meinen Fall besser passen?
Beste Grüße
Fränky
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 20.10.2009, 12:37
Titel:
|
|
Da ich X nicht kenne kann ich nur die Implementierung für A und B vorschlagen (10000 mal schneller):
Andreas
|
|
|
Fränky |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 13:48
Titel:
|
|
SUPER - Vielen Dank Andreas!!!
Das Programm läuft jetzt deutlich schneller und flüssiger...
|
|
|
Fränky |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 14:33
Titel:
|
|
Hallo,
ich habe noch eine Frage:
Falls das X keine Konstante ist und sich mit jedem Messpunkt verändert, also eine < Xx1 > Matrix darstellt, wie kann ich meinen Code hinsichtlich Performance-Geschwindigkeit optimieren?
Gibt es eine Möglichkeit die parfor-Schleife zu optimieren?
Fränky
|
|
|
Med |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 15:12
Titel:
|
|
Ich gebe zu so ganz steig ich bei deinem code nicht durch aber was genau bezweckst du mit "phi" und "theta"? So wie ich gelesen haben gibt "lengh" nur die größe des Arrays wieder und das ist ja bei dir immer gleich mit der Schrittweite. Somit könntest du doch grad einmal den Wert in eine Variable setzen und Matlab müßte das nicht immer neu berechen. Oder wenn wirklich jeder kleine Schritt benötigt wird, dann die Werte einmal in einer Matrix speichern bzw in einer Matlab file das die nur noch ausgelesen aber nicht mehr neu berechnet werden müssen.
|
|
|
Fränky |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 15:31
Titel:
|
|
Tut mir leid, wenn meine Formulierungen nicht eindeutig bzw verständlich waren.
Ich habe eine Punktewolke gegeben, jedem dieser Punkte (xyz-Koordinaten) wird durch ein Array der gleichen Länge ein bestimmter Wert (hier: Radius) zugeordnet. Nun versuche ich einen zufälligen Punkt zu simulieren der innerhalb dieses Radius liegt zu generieren. Da ich mich im Kugelkoordinatensystem befinde, weise ich jeden Punkt zwei zufällige Winkel zu (theta, phi) und einen zufälligen Radius zu. Dieser Radius soll kleiner-gleich dem jeweiligen im Array definierten Wert sein.
Ich hoffe, mein Problem ist nun ein wenig verständlicher geworden und jemand kann mir bei meinem Problem weiterhelfen...
Mein Code funktioniert auch einwandfrei, nur leider lässt die Performance-Geschwindigkeit sehr zu wünschen.
Beste Grüße
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|