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

viele matrizen addieren?

 

punsel
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 23.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 18:53     Titel: viele matrizen addieren?
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem:

ich habe mehrere tausend matrizen (mit gleichen dimensionen) in den Workspace geladen und moechte nun eine "Durchschnittsmatrix" erstellen.
Das heisst, ich muss alle Matrizen addieren und durch die anzahl der addierten matrizen teilen.

Ich nehme an, dass ich eine Schleife nutzen muss?

Die Namen meiner Matrizen sind wie folgt:

cam2_3.5V.1zhlkgt6.000001.txtPROCESSED.txt

bis

cam2_3.5V.1zhlkgt6.003594.txtPROCESSED.txt

wobei die Nummer (000001 bis 003599) ein index ist und von 000001 bis 003599 laeuft.

Hat jemand eine Idee, wie das am einfachsten zu machen ist? Gibt es vielleicht sogar die Moeglichkeit, einfach alle Matrizen im workspace zu addieren (ich kann vorher einfach alles andere aus dem workspace entfernen)?

Besten Dank im Voraus,

Lars
Private Nachricht senden Benutzer-Profile anzeigen


MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 19:04     Titel:
  Antworten mit Zitat      
wenn ich richtig verstanden habe, möchtes du den mean berechnen?
wenn die Matritzen in einem Stack vorliegen, also Matrizen(:,:,n) mit n=1:Anzahl deiner Matritzen, dann musst du nur:
Code:
berechnen
Private Nachricht senden Benutzer-Profile anzeigen
 
punsel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 23.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 19:30     Titel:
  Antworten mit Zitat      
Danke fuer die schnelle Antwort.

Ich habe gerade durch die Hilfe fuer "mean" gelesen - handelt es sich dabei nicht nur um Berechnungen innerhalb einer Matrix? Ich moechte ja eine Mittelwertsmatrix aus allen meinen Matrizen erzeugen...

Und mein groesstes Problem: wie sage ich MatLab, ueber welche Matrizen es mitteln muss?
Private Nachricht senden Benutzer-Profile anzeigen
 
MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 20:07     Titel:
  Antworten mit Zitat      
kannst du ein beispiel geben?
Private Nachricht senden Benutzer-Profile anzeigen
 
punsel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 23.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 20:16     Titel:
  Antworten mit Zitat      
Jepp, kann ich.

Nehmen wir an, ich haette nur zwei Matrizen a und b:

a = [1,1,1;2,2,2;3,3,3]

b = [4,4,4;5,5,5;6,6,6],

dann soll die "Durchschnittsmatrix" wie folgt aussehen:

c = (a + b)/2 = [2.5,2.5,2.5;3.5,3.5,3.5;4.5,4.5,4.5]

Mit anderen Worten soll der Eintrag an einer Stelle in einer Matrix mit den Werten an der gleichen Stelle aller anderen Matrizen verrechnet werden.

Ich hoffe, das ist soweit verstaendlich?
Private Nachricht senden Benutzer-Profile anzeigen
 
MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 21:09     Titel:
  Antworten mit Zitat      
wenn jetzt
Code:
M(:,:,1) = a und M(:,:,2) = b
dann ist
Code:
gleich deinem c, probier es mal aus...
Private Nachricht senden Benutzer-Profile anzeigen
 
punsel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 23.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 21:46     Titel:
  Antworten mit Zitat      
hmmm, ok.
Ich glaube, ich verstehe, was du meinst. Aber muesste ich nicht alle meine Matritzen zunaechst in eine einzige grosse Matrix einzubinden?

Das muesste ich bestimmt irgendwie mit einer Schleife hinbekommen? Leider weiss ich nicht gut genug bescheid, um das zu machen...

Oder habe ich die Idee noch nicht richtig verstanden?

Danke fuer deine Hilfe erstmal Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
MatLabNooB
Forum-Guru

Forum-Guru


Beiträge: 262
Anmeldedatum: 27.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2009, 22:52     Titel:
  Antworten mit Zitat      
ich denk so in der art müsstest es machen:
Code:
for n=1:Anzahl der Matrizen
M(:,:,n) = eingeladene Matrize
end
M_mean = mean(M,3)
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.