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

Werte einer Matrix/Variable bereichsweise verwenden

 

cenit87
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 02.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 16:25     Titel: Werte einer Matrix/Variable bereichsweise verwenden
  Antworten mit Zitat      
Hallo sagt ein Neu-Mitglied und blutiger Anfänger in Matlab Wink

habe hier z.B. eine 8x4 Variable ( Name: Kombination) und möchte gerne deren Werte für eine weiterführende Berechnung verwenden.
Code:
       
1450         -50         885        1325
1450         -50         905        1225
1450         -50         905        1245
1450         -50         905        1265
1450         -50         905        1285
1450         -50         905        1305
1450         -50         905        1325
1450         -50         925        1225
 

Für eine weiterführende Berechnung soll er jeweils die Werte aus der 1. Reihe entnehmen:

test1= Wert aus der 1. Reihe und 1. Spalte
test2= Wert aus der 1. Reihe und 2. Spalte
test3= Wert aus der 1. Reihe und 3. Spalte
test4= Wert aus der 1. Reihe und 4. Spalte

Diese Werte werden dann verwendet um was zu berechnen. Das berechnete wird anschließend gespeichert und er soll dann weiter zur 2. Reihe gehen und praktisch wieder die Werte nehmen:

test1= Wert aus der 2. Reihe und 1. Spalte
test2= Wert aus der 2. Reihe und 2. Spalte
test3= Wert aus der 2. Reihe und 3. Spalte
test4= Wert aus der 2. Reihe und 4. Spalte

...etc. bis er alle Reihen durchgerechnet hat. Ist dafür eigentlich auch eine For-Schleife notwendig?

Hoffe ihr könnt mir helfen, Vielen Dank Cool
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 18:37     Titel:
  Antworten mit Zitat      
Hallo,

wozu vier verschiedene Variablen?
Du kannst eine Zeile in eine Variable auslesen:
Code:
test = kombination(1,:);

und dann mit Indizierung auf die einzelnen Einträge zugreifen:
Code:


Wenn du zeilenweise analysieren willst, bietet sich dafür eine for-Schleife an.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
cenit87
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 02.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 20:37     Titel:
  Antworten mit Zitat      
Danke für den Hinweis, mal wieder ein Fall von: Den Wald vor lauter Bäumen nicht sehen Wink

Bei einer kleinen Matrix wie dieser kann ich die Indizierung ja noch einfach von Hand machen aber wie sieht das bei größeren Matrizen aus.

Und bei der For-Schleife habe ich auch noch keinen wirkichen Ansatz wie ich das durchführen soll/muss.

Kann mir da auch noch jemand helfen, Danke Cool
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 20:55     Titel:
  Antworten mit Zitat      
Hallo,

Man kann so ziemlich alles automatisieren. Um dir dabei wirklich helfen zu können, müsste man wissen, was du genau machen willst. Hier ein Template, wie du vorgehen könntest:

Code:
for I = 1:size(kombination,1)
test = kombination(I,:);
% mit test arbeiten
end


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
cenit87
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 02.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 21:13     Titel:
  Antworten mit Zitat      
Danke,
also so habe ich es mir ursprunglich vorgestellt:

Habe hier eine Variable ( Name: Kombination ) mit vielen Reihen aber genau 4 Spalten. Die Spalten habe derzeit keine Namen jedoch habe ich diese jetzt hier verständnishalber mal benannt:
Code:

x_g:         y_g:       x_h:       y_h:
1244         -12         825        1325
1751         -21         855        1225
1140         -38         145        1245
1147         -45         645        1265
1268         -55         700        1285
1000         -16         921        1305
1470         -20         480        1325
1480         -40         256        1225
 

1.Berechnung( Werte jeweils aus der ersten Reihe )

Code:

x_g = kombination(1,1);
y_g = kombination(1,2);
x_h = kombination(1,3);
y_h = kombination(1,4);

XG=x_g*cos(alpha_g);
YG=y_g*sin(alpha_g);
XH=x_h*cos(alpha_h);
YH=y_h*sin(alpha_h);


2.Berechnung( Werte jeweils aus der zweiten Reihe )
Code:

y_g = kombination(1,2);
x_h = kombination(1,3);
y_h = kombination(1,4);

XG=x_g*cos(alpha_g);
YG=y_g*sin(alpha_g);
XH=x_h*cos(alpha_h);
YH=y_h*sin(alpha_h);


x-te.Berechnung( Werte jeweils aus der x-ten Reihe )

Und die berechneten Werte aus der 1.....bis x-te Berechnung sollen dann auch wieder nur in einer Variablen gespeichert werden

Zuletzt bearbeitet von cenit87 am 02.01.2013, 21:19, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 21:16     Titel:
  Antworten mit Zitat      
Hallo,

und wo ist nun das Problem / die Frage? 1 durch I ersetzen, for-Schleife drumherum, fertig.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
cenit87
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 02.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 21:22     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

und wo ist nun das Problem / die Frage? 1 durch I ersetzen, for-Schleife drumherum, fertig.

Grüße,
Harald

Also so in etwa?
Code:
for I = 1:size(kombination,1)
x_g = kombination(I,1);
y_g = kombination(I,2);
x_h = kombination(I,3);
y_h = kombination(I,4);
end


oder wie
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 22:21     Titel:
  Antworten mit Zitat      
Hallo,

genau. Einfach ausprobieren schadet übrigens nicht ;)

Grüße,
Harald
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 - 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.