Ich habe aus 2D-LiDAR-Daten eine 3D-Punktwolke erzeugt. Die Daten werden grundsätzlich stets um 5° gedreht, bis die ganze Umdrehung abgedeckt ist (siehe Abb.)
Anschliessend habe ich über jeweils 3 Punkte Ausgleichsgeraden gelegt. Diese geben mir die Steigung an. Da der gegebene Grenzwert bei 30° liegt, habe ich die einzelnen Geraden jeweils rot und grün geplottet.
Dies habe ich bisher für den Winkel 5° erledigt.
Nun möchte ich dies durch eine Schleife auch für die restlichen Winkel (5° bis 360°) rechnen.
Schlussendlich soll ein 3D-Plot mit den jeweiligen Ausgleichsgeraden entstehen.
Ich hoffe, man weiss was ich in etwa meine.
Ich danke euch für eure Ratschläge
Bilder und Daten sind im Anhang
Code:
M = readmatrix("Messung_4_effektiv.txt");
x = (M(:,1));
y = (M(:,2));
z = (M(:,3));
ptCloud = pointCloud(M);
ptCloud
pcshow(ptCloud) zlim([-2300-1800])
Nun möchte ich dies durch eine Schleife auch für die restlichen Winkel (5° bis 360°) rechnen.
Was hast du hier denn versucht? Im wesentlichen brauchst du eine weitere Schleife wie die momentane um alles herum, was wiederholt gemacht werden soll.
Du solltest dir auch überlegen, welche Daten du speichern möchtest und wie. Beispielsweise als 2D Cell Array?
Zitat:
Schlussendlich soll ein 3D-Plot mit den jeweiligen Ausgleichsgeraden entstehen.
Dann müsstest du dir überlegen, was auf welche Achse soll. Eventuell kannst du für x und y die ursprünglichen x- und y-Werte verwenden, aber dann musst du sie entsprechend raussuchen wie derzeit für r.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ich habe versucht eine weitere for-Schleife vor der bereits bestehenden zu schreiben, bin aber überhaupt nicht weiter gekommen. Mir ist nicht ganz klar, wie ich diese aufbauen soll, damit stets mit den Daten des nächste Winkels berechnet wird.
Gespeichert sollen die Daten lediglich soweit, dass ich danach sämtliche Ausgleichgeraden in einer 3D-Grafik plotten kann.
Ich habe versucht eine weitere for-Schleife vor der bereits bestehenden zu schreiben, bin aber überhaupt nicht weiter gekommen.
Bitte immer posten, was du versucht hast.
Zitat:
Mir ist nicht ganz klar, wie ich diese aufbauen soll, damit stets mit den Daten des nächste Winkels berechnet wird.
Ein Array winkel mit den zu durchlaufenden Winkeln erstellen und dann immer mit winkel(idx) statt 5 arbeiten.
Und wie gesagt:
Dann müsstest du dir überlegen, was auf welche Achse soll. Eventuell kannst du für x und y die ursprünglichen x- und y-Werte verwenden, aber dann musst du sie entsprechend raussuchen wie derzeit für r.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
das sieht abgesehen von Schreibfehlern bei winkel erst mal sinnvoll aus. Die Schleife für das Fitten der Polynome muss aber noch mit in diese Schleife.
In welcher Zeile wird denn die Fehlermeldung geworfen?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
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.