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

Zähler, Schleife, if Abfagre ? ? ?

 

hansi81
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2008, 16:27     Titel: Zähler, Schleife, if Abfagre ? ? ?
  Antworten mit Zitat      
Guten Tag,

ich arbeite mich gerade in das Programm MATLAB hinein und habe dazu folgende Frage:

Ich habe eine Ausgangsmatrix [X] die sich aus

[X]=[U]*[Z] errechnet. %[U] und [Z] sind bekannt



Aktuell habe ich folgendes Problem, ich würde die Matrix X gerne hochzählen lassen bzw auch andere Matrizen, so dass für jedes k mir im Workspace eine neue Matrix erscheint. Daher habe ich es mit dieser einfach for Schleife probiert... :

for k=1:100; %nur als Bsp.
[X_k]=[U]*[Z];
end


aber das funktioniert nicht so wie ich das möchte, ich bekomme halt dann nur eine Matrix. Der zählt irgendwie nicht hoch bzw. ich mache halt was falsch bei meiner Eingabe.

Kann mir bei diesem Problem bitte jmd helfen ?

Vielen Dank

Grüße

Hansi
Private Nachricht senden Benutzer-Profile anzeigen


samsa10
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 50
Anmeldedatum: 10.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2008, 21:54     Titel:
  Antworten mit Zitat      
Hallo,

for-Schleifen sind in Matlab eher zu meiden, wegen Geschwindigkeitseinbusen. Für dein Problem:
Du kannst zb. so zuweisen:
Code:

X(:,:,k)=U*Z
 

Abfrage (Aufruf) der k-ten Matrix wiederum über:
Code:

X(:,:,k)
 


Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
hansi81
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.12.2008, 01:03     Titel:
  Antworten mit Zitat      
Ja ok das ist klar, diese Variante benutze ich wenn ich z.B. in die dritte Dimension eine Frequenz einlese.
Dann holt er mir praktisch für jedes einzelne Frequenzblatt die Matrix heraus.

Aber vielleicht nochmal exakter mein Problem

BSP.:
ich hab einen Wert a=1

und einen Wert b


nun sage ich sobald b kleiner als a ist brich bitte ab, bekomme ich hin.

aber wie gebe ich die anweisung rechne weiter b aus, bis der Wert kleiner a ist und breche dann automatisch ab ? ? ?

und würde es gehn das ich prakt. für jede Berechnung von b, die der zähler durchlaufen muss mir im workspace einen Wert liefert ?

also nach dem Motto

a=1;
b1=2;
if b1<=a,

%dann ist gut, also fertig

elseif b1>a,

%dann rechne weiter...solang bis z.B. b100 konvergiert...

end


wie ich das umsetzte verstehe ich nicht
Private Nachricht senden Benutzer-Profile anzeigen
 
samsa10
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 50
Anmeldedatum: 10.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.12.2008, 12:04     Titel:
  Antworten mit Zitat      
Hallo nochmals,

Wenn du den Verlauf der b-Werte festhalten willst, würde ich diese zb. in einen Vektor schreiben, also b(1), b(2), usw.
Die Schleife könnte dann so aussehen:
Code:

k=1;
b(k)=2;

while b(k) >= a
%deine Berechnungen
k=k+1;
end
%der Code für den eingetretenen Fall b(k)<a
 


Allerdings sind auch while-Schleifen - wenn's geht - eher zu meiden.

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