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

Variablen in einer Matrix definieren

 

krtekmr
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 01.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2009, 15:30     Titel: Variablen in einer Matrix definieren
  Antworten mit Zitat      
Hallo,

bin völliger Neueinsteiger, also bitte nicht hauen Very Happy .

Folgendes Problem:
Ich habe eine Matrix N da stehen Koordinaten von Punkten im Raum drin und davor ein Index, also pro Zeile: i x y z. Für den Anfang sind es erstmal 3 Punkte. Die Werte kommen aus einer Datei.

Code:

N=[1 0 0 0; 2 3 1 0; 3 2 2 0]
 


Für eine weitere Berechnung brauche ich die einzelnen Koordinaten der Punkte, also x1, y1, z1, ... . Wie kann ich diese am schnellsten bekommen ? Gibt es eine Möglichkeit die einzelne Deklaration

Code:

x1=N(1,2)
y1=N(1,3)
z1=N(1,4) ...
 


zu umgehen ? Ich habe mal bei Mathematica gesehen, dass man da direkt die Variablen in einer Matrix definieren kann, also in Mathematica-Code

Code:

{{i1, x1, y1, z1}, {i2, x2, y2, z2}, {i3, x3, y3, z3}}=N;
 


Geht sowas in der Art auch in MATLAB ?

Als zweiten Schritt soll das Ganze dann auch mal unabhängig von der Anzahl der Punkte und damit Zeilen in N laufen. Hat jemand ne Ahnung wie ich das am günstigsten implementiere ? Kann man in Matlab in for-Schleifen in Abhängigkeit vom Shcleifendurchlauf Variablen deklarieren ? so in der Art

Code:

for j=1:size(N,1)
i_j=N(j,1);
x_j=N(j,2);
y_j=N(j,3);
...
end
 


Vielen Dank für eure Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.09.2009, 16:15     Titel:
  Antworten mit Zitat      
Hallo,

in MATLAB kann man prinzipiell Variablen mit dynamisch erzeugtem Namen generieren.

Gerade bei der Weiterverarbeitung ist das aber manchmal eher umständlich zum handhaben. Ist in Deinem Fall nicht vielleicht so etwas in der Art praktisch:

Code:

x = N(:,2); % alle x-Werte in einem Vektor
y = N(:,3); % ale y-Werte in einem Vektor
z = N(:,4); % alle z-Werte in einem Vektor
 


Damit kann man dann recht angenehm weiterarbeiten.

Um dynamisch Variablen-Namen zu erzeugen kannst Du folgendes machen:
Code:

r = rand(5,1);
for ii = 1:5
    assignin('caller',['x',num2str(ii)],r(ii))
end
 


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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.