|
|
polarkoordinaten in kartesiche und plotten |
|
maximos |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 13:13
Titel: polarkoordinaten in kartesiche und plotten
|
|
Ich schaffe es nicht meine daten welche im polar form vorliegen mit pol2cart in karthesische umzuwandeln.
Dies ist mein Anfangsversuch
Danke
P.S die registrierungsbestätigungsmail kommt nicht an
(auch nicht im spam gelandet)
|
|
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 13:48
Titel:
|
|
In welcher Form liegen die Daten denn genau vor? Ich sehe, dass du eine Variable namens poldata benutzt, sehe aber nicht wie diese genau aussieht oder was darin steht.
Überhaupt sieht das alles etwas mysteriös aus, du belegst erst data mit einer exakten Kopie von poldata (Warum nicht einfach poldata verwenden und die Kopie sparen?), dann definierst du ttheta und rho als leere Variablen, benutzt keine einzige der gerade angelegten 3 Variablen und übergibst stattdessen ein mysteriöses THETA und RR and pol2cart, von denen auch kein Mensch weiß wie sie aussehen. Hast du versucht den Code auszuführen? Welche Fehlermeldungen tauchen auf?
|
|
|
maximos |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 15:15
Titel:
|
|
danke für deine Antwort.
Ich habe eine Matrix in "512x588001 uint16" Matrix Form.
Die Reihen geben jeweils den Radius an und die Spalten den aktuellen Winkel.
die datei poldata die in eine datei datawopo.mat welche ich mit load vorher in das Worspace laden konnte.
um pol2cart nutzen zu können hast du recht sind meine Variablen nicht passend
(ich versuche es immer noch etwas zu verstehen)
Ich muss es also irgendwie schaffen (glaube ich) die matrix in je zwei vektoren pro spalte zu unterteilen?
Ich glaube der winkel ist einfach der geht ja immer von 1-512
Und dazu muss ich je immer ein Spalte der 600000 spalten zuordnen. Und dieses muss dann alles irgendwie an pol2cart übergeben werden.
Da komme ich aber noch keinen schritt weiter.
Bei kleinen Beispielen wie dem hier klappt es:
Zitat: |
clc
thetai = [0 pi/4 pi/2 pi]
rhoi = [5 5 10 10]
[x,y] = pol2cart(theta1,rho1) |
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 16:24
Titel:
|
|
Zitat: |
Ich habe eine Matrix in "512x588001 uint16" Matrix Form. |
uint16 sind unsigned integers, also positive ganze Zahlen. Bei Koordinaten würde ich eher Gleitkommazahlen erwarten. Die Größe der Matrix erscheint mir auch sehr massiv, das müssten wenn ich richtig gerechnet habe ein halber Gigabyte an Integers sein. Kannst du einen Teil des .mat Containers hochladen? Alles hochladen wird nicht funktionieren, da er zu groß ist. Du kannst ihn wie folgt zusammenkürzen:
Du hast schon recht, du musst 2 Vektoren erstellen. Einer enthält die Radien aller Punkte, der andere die Winkel. Wir müssen nur noch rausfinden wie die Daten in poldata hinterlegt sind.
|
|
|
maximos |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 16:38
Titel:
|
|
Ja ist ziemlich groß die datei
Habe jetzt aus der Matrix alle Zeilen und spalten 1:1000
Danke
Beschreibung: |
|
Download |
Dateiname: |
data_kleiner.mat |
Dateigröße: |
513.57 KB |
Heruntergeladen: |
208 mal |
|
|
|
protter |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 25.06.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 16:39
Titel:
|
|
Jetzt auch nicht mehr als Gast unterwegs
maximos=protter
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.06.2020, 17:08
Titel:
|
|
Hallo,
das Problem scheint mir die Interpretation der Daten. Was bedeuten denn z.B.
201 241 239
224 231 222
211 221 222
genau? Sind dies etwa Werte zu bestimmten Winkeln und Radien? Falls ja, dann würde ich nicht die Daten konvertieren sondern diese Winkel und Radien (welche das sind, müsstest du wissen). So kannst du zu jedem Datenpunkt einen x- und y-Wert bekommen.
Beispiel:
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 ;)
|
|
|
protter |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 25.06.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 17:16
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
Sind dies etwa Werte zu bestimmten Winkeln und Radien?
|
ja genau in der Zeile 1-512 ist jeweils mein Radius, und in den Spalten der Winkel
es ist eine rotierende sonde die langsam vorgeschoben wird.
Ich weiß nur nicht wie ich jetzt damit die daten aus data_kleiner nutze ?
Beispiel: Im Anhang aus A wird B versuche ich
EDIT: https://de.mathworks.com/matlabcent.....atrix-in-polar-coordinate
ich glaube dort gibt es ein ähnliches vorgehen
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt.png |
Dateigröße: |
5.89 KB |
Heruntergeladen: |
209 mal |
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2020, 19:52
Titel:
|
|
Die Zahlen sind alle in einem Bereich von 78 - 269, könnten also Winkel in grad sein.
Zitat: |
ja genau in der Zeile 1-512 ist jeweils mein Radius, und in den Spalten der Winkel |
Meinst du, in der ersten Zeile oder Spalte steht der Radius und danach kommen nur noch Winkel? Das wäre möglich, da ist aber verdächtig, dass die Werte für die Radien in der gleichen Größenordnung liegen wie die Winkel. Na du kannst damit mal etwas rumspielen:
vielleicht findest du dann noch heraus wie die Daten zu interpretieren sind.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.06.2020, 21:09
Titel:
|
|
Hallo,
ein Versuch noch von meiner Seite: ich kann es mir nur vorstellen, dass die Daten so zu verstehen sind:
........... | Winkel(1) | Winkel (2) | Winkel(3) | ...
---------------------------------------------
Radius(1) | 201 ... | 241 ... | 239
Radius(2) | 224 ... | 231 ... | 222
Radius(3) | 211 ... | 221 ... | 222
(die Punkte dienen nur für eine annähernd vernünftige Formatierung)
Wenn dem so ist, dann musst du aber die (von dir nicht zur Verfügung gestellten) Informationen Radius und Winkel transformieren, nicht die Daten an sich.
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 ;)
|
|
|
protter |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 25.06.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.06.2020, 06:35
Titel:
|
|
Entschuldigt, dass das hier zu so einer doppelten frage wird, da ich die daten selber wphl nicht genau verstanden hatte.
........... | Radius(1) | Radius(2) | Radius(3) | ...
---------------------------------------------
Winkel(1) | 201 ... | 241 ... | 239
Winkel(2) | 224 ... | 231 ... | 222
Winkel(3) | 211 ... | 221 ... | 222
Jedem Punkt wird pro spalte in einem sich drehenden element ein Radius zugeteilt.
Beideutet mein gesamtradius liegt bei 360 Grad.
Dann in der nächsten spalte fängt das Spiel wieder mit neuen Daten von Vorne an.
Dadurch entsteht BILD A
Und ich versuche mit cart2pol auf B zu kommen
Bedeutet ich sollte da auf die Daten erst einmal ein Meshgrid drauf legen, oder ngrid nutzen oder?
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt.png |
Dateigröße: |
4.57 KB |
Heruntergeladen: |
209 mal |
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.06.2020, 06:48
Titel:
|
|
Die Daten sind also die Radien, und die Winkel jeweils äquidistant zueinander?
In dem Fall musst du dir den Winkelvektor in radiant selbst konstruieren.
Zusammen mit den entsprechenden Radien aus der Tabelle kannst du dann pol2cart anweden und direkt plotten, meshgrid oder andere Schweinereien sind dafür nicht notwendig.
Das Konvertieren in kartesische Koordinaten kannst du dir für den Plot sogar schenken, matlab hat Funktionen für das Plotten von Polarkoordinaten, siehe polarplot()
https://de.mathworks.com/help/matlab/ref/polarplot.html
|
|
|
|
|
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 - 2025
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.
|
|