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

Wie geht es am besten ?

 

nemax
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 13.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2009, 11:47     Titel: Wie geht es am besten ?
  Antworten mit Zitat      
Hallo,

ich suche nach einer Methode wie ich am günstigsten die in einer Schleife anfallenden Werte so ablegen kann, dass diese jeder Zeit verfügbar sind.

zB.: wie in der

Zitat:

for n = 1:10

lk(n) = ....

end



aber so verbleiben die Werte "lk(n)" nicht erhalten. oder ?
Private Nachricht senden Benutzer-Profile anzeigen


nemax
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 13.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2009, 12:49     Titel:
  Antworten mit Zitat      
Hi,

ich habe folgendes versucht umzusetzen:

Zitat:
for n = 1:10

lk(n) = .... * mc(n) * ... ;
.
.
end


bekomme aber die Meldung

Zitat:
??? Index exceeds matrix dimensions.


Ich weiß, dass ich die 'mc(n)' voher definieren soll. Meine Frage lautet also - Wie kann ich es am besten tun ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2009, 14:05     Titel:
  Antworten mit Zitat      
Servus nemax

Aus Deiner Problembeschreibung geht, zumindest für mich, nicht hervor, was Du eigentlich erreichen willst.
Folgendes MiniBsp. funktioniert.

Code:
mc = [1:10];

for n = 1:length(mc)
    lk(n) = mc(n) * 2;
end


Wenn das nicht das ist was Du brauchst, ersuche ich Dich Dein Problem etwas zu konkretisieren.
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
nemax
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 13.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2009, 15:16     Titel:
  Antworten mit Zitat      
Ok. Ich beschreibe die von mit gesuchte Lösung.

Innerhalb einer Schleife sollte eine Reihe von Operationen durchgeführt werden. Jede dieser Operationen ergibt einen Wert, der auch nach dem Durchlaufen der Schleife erhalten bleiben soll, oder beim erneuten anlaufen der Schleife zur Verfügung stehen soll.
Der springende Punkt:

wenn die Schleife einen Schritt macht , wird einfache Variable erneut überschrieben usw. Ich benötige jedoch die Werte der Variable in jedem Schritt der Schleife.

Und jetzt wie soll es gehen ? Ich versuch mit

Zitat:
for n =1:10

mc(n) =...;

end

geht aber nicht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2009, 15:40     Titel:
  Antworten mit Zitat      
Servus nemax

Zitat:
Und jetzt wie soll es gehen ? Ich versuch mit

Zitat:
for n =1:10

mc(n) =...;

end

geht aber nicht.


Wenn Du das so machst wie oben, wird mc die Größe 10x1 haben. Jeder berechnete Wert ist gespeichert oder anders gesagt- es wird kein Wert überschrieben.
Wenn jedoch die Schleife ein zweites mal durchlaufen wird, wird sehr wohl mc neu belegt.

Wenn Du auf das Ergebnis des vorangegangen Schleifendurchlaufs zurückgreifen willst, verwende etwas in der Art:

Code:

mc = [1 : 10];

for i = 1 : 10
    mc(i) = mc(i-1) * ...;
end
 


oder
Code:

mc = [1 : 10];
[n , m] = size(mc);
for i = 1 : 10
    mc( i, m+1) = mc(i-1, m) * ...;
end
 


Hast Du keinen Bsp. Code, in dem man erkennt was für Input´s Du hast bzw. welche Output´s benötigt werden.
Irgendwie kann ich mit "einer Reihe von Operationen" gerade nichts anfangen.[/code]
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
nemax
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 13.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2009, 10:49     Titel:
  Antworten mit Zitat      
Danke Dagnabit,

ich habe mit deiner Hilfe den richtigen Dreh hingekriegt, und die passende Lösungsform gefunden.

Nochmals vielen Dank.
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.