WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrix von Polarkoord auf kartesische Koord umwandeln.....

 

Florian85
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:36     Titel: Matrix von Polarkoord auf kartesische Koord umwandeln.....
  Antworten mit Zitat      
Halle Leute!

Ich habe zwei Vektoren: Ein Vektor r mit 4 Werten für meine Radien und ein Vektor phi mit 23 Werten für die Winkel.

Ich wollte mir daraus x- und y-Werte machen, aber so wie ich es eingegeben habe funktionierts nicht:

Code:
>> r=[0.39 0.448 0.506 0.564];
>> phi=0:0.9*pi/180:18*pi/180;
>> x=r*cos(phi);
??? Error using ==> mtimes
Inner matrix dimensions must agree.

>> y=r*sin(phi);
??? Error using ==> mtimes
Inner matrix dimensions must agree.


Eigentlich müssten für die x- und y- Werte zwei (4x23)MAtrizzen entstehen, aber leider gehts nicht.


Kann mir jemand weiterhelfen?

mfg Florian[/code]
Private Nachricht senden Benutzer-Profile anzeigen


Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:42     Titel:
  Antworten mit Zitat      
Hi,

probier mal folgenden Befehl
Code:

Gruß,
Vito

Zuletzt bearbeitet von Vito am 30.07.2010, 10:47, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:45     Titel:
  Antworten mit Zitat      
mit
Code:
>> W=cross(r,phi)
??? Error using ==> cross
A and B must be same size.


funktionierts auch nicht....

warum muss r und phi die gleiche größe haben?

mfg Florian
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:46     Titel:
  Antworten mit Zitat      
danke

werds mal versuchen
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:54     Titel:
  Antworten mit Zitat      
Hi,
dein Vorschlag kann auch nicht funktionieren, denn zu jeden Radius gibt es nur einen Winkel. Vier Radien also vier Winkeln und nicht 21 Wink
ein Beispiel
Code:

phi = [12 24 36 48]; % ist ein Bsp
r = [0.39 0.448 0.506 0.564];

[x y] = pol2cart(phi,r)
 

Gruß,
Vito

PS: da Matlab mit Matrizen als Basis rechnet muss du schon die Gesetze der Matrizenrechnung berücksichtigen Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:57     Titel:
  Antworten mit Zitat      
Code:
r=[0.39 0.448 0.506 0.564];
>> phi=0:0.9*pi/180:18*pi/180;
>> [x,y]=pol2cart(phi,r)
??? Error using ==> times
Matrix dimensions must agree.

Error in ==> pol2cart at 22
x = r.*cos(th);



hm... in der hilfe steht, dass r und phi gleich groß sein muss. warum ist das so? man kann doch aus einem vektor mit 2 spalten und einem aus 4 spalten eine matrix (2x4) machen, oder nicht?

also kann man mit matlab so nur eine quadratische matrix herstellen?

mfg florian

PS: ich glaub ich steh grad auf der leitung
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 11:04     Titel:
  Antworten mit Zitat      
Hi,

schau dir doch bitte das Bsp. an.

Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 11:27     Titel:
  Antworten mit Zitat      
ja ok. das beispiel versteh ich jetzt. danke für die hilfe

aber ein problem bleibt mir trotzdem noch:

wie mach ich aus zwei vektoren, die nicht glich groß sind eine matrix?
geht das mit matlab überhaupt?

mfg florian
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 11:32     Titel:
  Antworten mit Zitat      
Hi,

in Matlab geht allles Cool du kannst Matrizen erzeugen oder Tensoren etc..
Hier ein Bsp zur erzeugen einer Matrix aus zwei Vektoren:
Code:

v1 = [2 3 4 5];
v2 = [23 45 67 89 ];
Mat = [v1; v2];
 


Gruß,
Vito

PS: Für Tensor schau dir doc reshape an.
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 11:43     Titel:
  Antworten mit Zitat      
ich häng jetzt mal ein bild an, damit mein problem besser zu verstehen ist, weil anscheinend kann ich es nicht gut erklären Very Happy

mein problem ist, dass ich aus meinen messwerten nicht gleich viel radien wie winkel bekomme. ich würde gern die polarkoordinaten meiner messpunkte in kartesische umwandeln.

mfg florian

test2.png
 Beschreibung:

Download
 Dateiname:  test2.png
 Dateigröße:  26.35 KB
 Heruntergeladen:  1520 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 11:55     Titel:
  Antworten mit Zitat      
Hi,

ich habe 22 Radien gezählt (s. A.).
Schreib doch dein
r und
phi
komplett rein. Dann sehen wir weiter.

Gruß,
Vito

test2.png
 Beschreibung:

Download
 Dateiname:  test2.png
 Dateigröße:  23.06 KB
 Heruntergeladen:  1446 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 12:08     Titel:
  Antworten mit Zitat      
hier nochmal das bils ein bischen anders:

also ich bekomme meine messdaten als Textfile in der Form(siehe A8.txt):

Die werte sind die Z-Werte; 4 Spalten für die 4Radien, und 23 Zeilen für die Winkel)

Im bild hab ich es nochmal eingezeichnet.

man muss sich das so vorstellen. die 4 messsensoren rotieren und tasten mit einer gewissen frequenz ab, und so ergeben sich die messwerte.

hoffentlich ist es jetzt verständlicher

mfg florian


PS: die Textfile am besten mit dem editor öffnen

test2.png
 Beschreibung:

Download
 Dateiname:  test2.png
 Dateigröße:  22.41 KB
 Heruntergeladen:  1504 mal
A8.txt
 Beschreibung:

Download
 Dateiname:  A8.txt
 Dateigröße:  668 Bytes
 Heruntergeladen:  640 mal


Zuletzt bearbeitet von Florian85 am 30.07.2010, 12:13, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 12:12     Titel:
  Antworten mit Zitat      
hmmm....

also so wie ich das jetzt sehe kann matlab nur dann eine matrix machen wenn die vektoren gleich groß sind. oder täusch ich mich jetzt da?
bitte korrigiert mich wenn ich falsch liege, weil sonst muss ich mir grundsätzlich etwas anderes überlegen wie ich meine messwerte gut darstellen kann.

mfg florian
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 12:28     Titel:
  Antworten mit Zitat      
Hi,

Wie groß ist der Winkel?
Ich verstehe nicht was du mit den Matrizen erzeugen meinst. Denn man kann auf unterschiedlicher arten eine Matrix in Matlab erzeugen.
Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
Florian85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 29.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 12:35     Titel:
  Antworten mit Zitat      
also ich will aus meinen 4 radien und 23 winkeln, die man im bild sehen kann, die kartesischen koordinaten der eckpunkte haben.

das müssten dann 92 eckpunkte sein(4*23)

und dann brauch ich daraus eine matrix, die mir in der ersten spalte die x-koordinate in der 2. spalte die y-koordinate und in der 3.spalte die z-kordinate angibt.

das ganze müsste dann eine 92x3 MAtrix ergeben.

ist sowas mögllich?

mfg Florian

PS: die gesamte fläche hat einen winkel von 18°. von 0 bis 18. und es wird alle 0,9 ° ein neuer punkt erzeugt. ob das jetzt mit dem bild übereinstimmt weiß ich nicht, weil ich die winkel auch varrieren muss. das bild ist nur zum veranschaulichen.

Zuletzt bearbeitet von Florian85 am 30.07.2010, 12:38, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.