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

Ergebnisse einer Schleife speichern

 

Basel
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.12.2007, 14:32     Titel: Ergebnisse einer Schleife speichern
  Antworten mit Zitat      
Ciao,

mein Problem ist immer das gleiche. Zum einem zerteile ich in einer Schleife eine Matrix. Dabei erkennt Matlab nach Durchlauf aller Schleifen nur die letzte Teilmatrix. Da ich mit diesen Matrizen aber später in anderen Editoren weiter rechnen möchte, würde ich gerne alle Ergebnisse einzeln speichern. Wie geht das?

Hilfe1 = 1;
Hilfe = 1;

for j = 1 : length(sigma)-1
for i = 1 : length(A)
if A(i,2) == sigma(j)
Hilfe1 = i;
end
end


Last = A(Hilfe : Hilfe1 , Smile %Matrix der jeweiligen Lasttufe

Habe es schon mit Last,j = A(...) und Last(j) = ... etc versucht. Das geht schon mal nicht.

Das gleiche habe ich in einer anderen Schleife, in der ich einfach eine Gleichung berechnen lasse. Wie könnte ich alle Ergebnisse z.B. in einer Matrix speichern??

Vielen Dank für Eure Hilfe und einen guten Rutsch ins neue Jahr!!!! Rolling Eyes
Private Nachricht senden Benutzer-Profile anzeigen


jack
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.12.2007, 14:55     Titel:
  Antworten mit Zitat      
verstehe nicht ganz genau was du willst... kommentiere doch mal den code.
allgemein kann ich dir sagen, dass du zunächst eine matrix erstellen solltest. auf deren elemente kannst du dann zugreifen und da deine ergebnisse speichern...
Private Nachricht senden Benutzer-Profile anzeigen
 
Basel
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.12.2007, 19:12     Titel:
  Antworten mit Zitat      
Als Eingang habe ich eine Matrix "A" mit Spannungen,Setzung etc. Dabei sind die Spannungen in mehreren Zeilen gleich. Ich möchte nun die Matrix in kleine Matrizen unterteilen, die die gleichen Spannungswerte aufweisen.
In dem Vektor "sigma" sind die unterschiedlichen Werte der Spannungen enthalten.

a = 1;
b = 1;

for j = 1 : length(sigma) %sigma = Vektor mit Spannungswerten
for i = 1 : length(A)
if A(i,2) == sigma(j) % die Schleife endet, wenn sich der Wert der Spannung ändert
b = i;
end
end

Last = A(a: b , Smile % Last ist die Matrix der einzelnen Spannúngswerten


Hilfe = Hilfe1+1
end

Wenn ich jetzt die Schleife rechnen wird nur die Matrix "Last" der letzten Schleife gespeichert. Wie kann ich die Matrizen z.B. einen Index geben (Last1, Last2...) damit ich bei anderen Berechnungen auf sie zurück greifen kann? Ich habe keine Ahnung wie ich den Befehl für die Matrix schreiben muss. Shocked

Gruß Basel
Private Nachricht senden Benutzer-Profile anzeigen
 
DID
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2008, 13:46     Titel:
  Antworten mit Zitat      
In C wars so, dass man speicher reservieren musste und mit Pointern arbeiten musste,

aber ich glaube, der einfachste Weg wäre "Last" zu einem Vektor umzuproggen und halt für jede Schleife einen Platz in "Last" zu verwenden.

Du wirst sicherlich wissen wieviele Schleifengänge du gehst, daher wäre ein Vektor wohl ideal.
Wobei du wohl dann auch gleich einen [][][] Vektor verwenden kannst Wink


PS: Smilies im Code sind sehr irritierend ^^
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 02.01.2008, 17:03     Titel:
  Antworten mit Zitat      
Das könnte man so machen:
Code:
clear all;
clc;
for i=1:10
    eval( [['var_' int2str(i)] '= magic(i)'] );
end
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Basel
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2008, 14:49     Titel:
  Antworten mit Zitat      
Oh vielen Dank!!!!!!
Genau so wollte ich es haben! Ohne euch würde ich glaube ich verzweifeln.

Gruß Basel
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2010, 14:49     Titel:
  Antworten mit Zitat      
hi hab ein ähnliches problem...
hier erstmal mein code: (bin noch blutiger anfänger)
m=1;
x=-12:12;
y=M(m,Smile;
L=polyfit(x,y,length(x)-1);
for m < 30; m = m + 1;
L=polyfit(x,y,length(x)-1);
end;

Will in einer schleife die zeilen der matrix M (30x25 es handelt sich um messwerte) nacheinander verwerten und das ergebnis wieder in einer matrix abspeichern (29x25 wegen plynom 30-1). aber es spuckt mir nur das ergebnis der letzten zeile aus. was muss ich tun???
 
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.