|
|
Elemente innerhalb einer schleife ansprechen... |
|
schrrauber |

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 10.11.09
|
 |
|
 |
Wohnort: Mainz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 10:59
Titel: Elemente innerhalb einer schleife ansprechen...
|
 |
Hallo an alle,
ich Erzeuge innehalb einer for-Schleife einen Vektor (mit x, y, z Wert). Die Schleife geht von i=[1:n] mit n=8. Also Erhalte ich 8 Vektoren, die untereinander im Command Window stehen.
Jetzt würde ich gerne die Verbindungsvektoren der einzelnen Punkte bilden. Also will ich den i ten Vektor vom i+1 ten Vektor abziehen.
Ich weiß aber nicht wie ich das anstellen soll.. wie ich den i+1 ten Vektor anspreche....
Danke schonmal...
Gruß schrrauber
|
|
|
|
|
Phate |

Forum-Guru
|
 |
Beiträge: 283
|
 |
|
 |
Anmeldedatum: 09.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2008b
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 11:07
Titel:
|
 |
Hi,
Das ist mir jetzt nicht ganz klar, hast du jetzt 8 einzelne Vektoren in deinem Workspace oder hast du ein Array mit 3 Zeilen und 8 Spalten?
Ein kurzes Beispiel wäre hilfreich, da ich sonst nicht das Problem sehe, da du die Lösung eigentlich schon hast, falls es 8 einzelne Vektoren sind.
Grüße Björn
|
|
|
santa claus |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 25.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 11:10
Titel:
|
 |
also wenn du die vektoren die du in der schleife erzeugst in einer Matrix abspeicherst, z.B.
dann kannst du jetzt auch die i-te Spalte von der i+1-Spalte abziehen etc.
|
|
|
schrrauber |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 10.11.09
|
 |
|
 |
Wohnort: Mainz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 11:19
Titel:
|
 |
Das war es was ich gesucht habe.... die Vektoren in einer Matrix abspeichern, damit ich Sie saltenweise ansprechen kann.
Dake!
Gruß schrrauber
|
|
|
schrrauber |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 10.11.09
|
 |
|
 |
Wohnort: Mainz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 11:26
Titel:
|
 |
aber was kommt jetz hinter das = bei v(i)=...
|
|
|
Phate |

Forum-Guru
|
 |
Beiträge: 283
|
 |
|
 |
Anmeldedatum: 09.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2008b
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 11:30
Titel:
|
 |
Hi,
Das muss dann denk ich so aussehen:
Grüße Björn
|
|
|
schrrauber |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 10.11.09
|
 |
|
 |
Wohnort: Mainz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 14:15
Titel:
|
 |
Nee, nee, nee... es klappt einfach nicht...
Er läuft ja die Schleife n-mal durch. Bei jedem durchlauf kommt eine andere Matrix raus, die er -sofern kein semikolon am ende der Zeile steht- untereinander im command window ausgibt. Wenn ich aber dann die matrix aufrufe, gibt er mir nur die letzte aus, weil die ja auch nur noch im speicher ist und alle vorherigen überschrieben wurden.
Ich will aber eine neue Matrix die alle untermatrizen enthält, die ich dann spalten und zeilenweise aufrufen kann.
Der Björn hat ja versucht mir das klar zu machen aber ich verstehe es nicht. Es funktioniert so einach nicht bei mir. Kann mir jemand den genauen sinn der schreibweise erläutern....
sorry... vieleicht stehe ich auch auf dem schlauch
|
|
|
Phate |

Forum-Guru
|
 |
Beiträge: 283
|
 |
|
 |
Anmeldedatum: 09.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2008b
|
 |
|
|
 |
|
Verfasst am: 14.12.2009, 14:28
Titel:
|
 |
Hi,
wie gibst du denn im Commandwindow den Befehl ein? Gibst du v ein oder gibst du v(ii,: )?
Wenn du v(ii,: ) eingegeben hast dann kommt da die for schleife fertig ist ii=n=8.
Das hat dann zur folge dass in deiner eingabe v( 8,: ) steht und somit die 8 Zeile angesprochen wird. Der Doppelpunkt sagt aus dass er die ganze Zeile ausgeben soll.
Grüße Björn
|
|
|
schrrauber |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 10.11.09
|
 |
|
 |
Wohnort: Mainz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.12.2009, 11:01
Titel:
|
 |
Also... hier nochmal mit einem richtigen Beispiel.
Das ist mein Beispiel m-file:
clear
clc
M=[1;2;3;];
n=8
for i=1:n
N=i+M
end
wenn ich nun im Command Window N anspreche bekomme ich nur den letzten Vektor. (mit i=8). Ich hätte aber gerne eine Matrix mit ALLEN Vektoren von i=1 bis i=8 Spaltenweise. Also erte Spalte i=1.....8.Spalte i=8.
Wie muss der m-file konkret aussehen? Was muss ich ändern?
Gruß schrrauber
|
|
|
Phate |

Forum-Guru
|
 |
Beiträge: 283
|
 |
|
 |
Anmeldedatum: 09.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2008b
|
 |
|
|
 |
|
Verfasst am: 15.12.2009, 11:38
Titel:
|
 |
Hi,
also ich hab mal dein Beispiel kopiert und so gändert wie ich es gestern gepostet hab.
Er gibt mir jetzt eine 8x3 Matrix aus die wie folgt aussieht:
N= 1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
passt die Ausgabe so?
Grüße Björn
Achja du kannst M=[1 2 3]; schreiben und dir die ; sparen nur am ende nicht da du ja die Ausgabe unterdrücken möchtest.
|
|
|
schrrauber |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 69
|
 |
|
 |
Anmeldedatum: 10.11.09
|
 |
|
 |
Wohnort: Mainz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.12.2009, 11:56
Titel:
|
 |
Joa.. net so ganz das was ich mir vorgestellt hatte... aber ich hab auch ein wenig getüftelt und ich muss sagen wie alles im Leben... ist eigentlich ganz leicht, wenn man weiß wie es geht!
clear
clc
M=[1;2;3;];
n=8;
for i=1:n
N=i+M;
A(:,i)=N;
end
Für A bekomme ich genau das was ich will. Spaltenweise alle Vektoren von i= 1 bis i= 8.
trotz allem vielen dank für die hilfe!!!
Gruß schrrauber
|
|
|
Phate |

Forum-Guru
|
 |
Beiträge: 283
|
 |
|
 |
Anmeldedatum: 09.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: R2008b
|
 |
|
|
 |
|
Verfasst am: 15.12.2009, 12:11
Titel:
|
 |
Hi,
Da haben wir ein wenig aneinander vorbei geredet . Na dann auf jedenfall noch viel Erfolg.
Grüße Björn
|
|
|
|
|
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.
|
|