|
DominikB |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 27.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.06.2015, 17:11
Titel: Summe vieler Matrizen
|
 |
Hallo, ich hoffe, ich sehe den Wald vor lauter Bäumen nicht: Wie kann ich viele 3D-Matrizen addieren, ohne eine Schleife zu benutzen oder A=A1+A2+A3+A4..... schreiben zu müssen?
z.B.
Wenn ich 2 3D-Matrizen C und F vorliegen habe:
dann addiere ich C und F mit
und bekomme z.B. für die erste "Schicht":
Wie geht das jetzt mit vielen Matrizen?
Vielen Dank und Grüße
Dominik
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.06.2015, 17:17
Titel: Re: Summe vieler Matrizen
|
 |
Hallo DominikB,
Man speichert "viele" Matrizen nicht als A1, A2, A3..., denn dabei wird ein Index im Namen der Variablen versteckt. Wenn diese Matrizen aber etwas darstellen, was zusammen gehört (also auch mit Sinn addierbar ist), speichert man sie auch zusammen, z.B. als Cell-Array:
Mit Cell-Arrays lässt sich aber nicht leicht rechnen, denn sie sind eigentlich dafür vorgesehen Arrays mit unterschiedlichen Typen und Größen zusammen zu fassen. Für Rechnungen wäre ein mehrdimensionales Array praktischer:
Und dann die Summe:
Und wenn man nur die ersten 3 Matrizen addieren möchte:
Gruß, Jan
|
|
|
DominikB |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 27.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.06.2015, 17:36
Titel: Re: Summe vieler Matrizen
|
 |
Hallo Jan,
danke schon mal für deine Antwort. Ich bekomme doch mit
die Summe aller Elemente entlang der 3. Dimension. Was ich aber brauche,
ist die Summe derjenigen Elemente, die in jeder Matrix an der gleichen Stelle stehen, also
.
Stehe ich auf dem Schlauch?
Viele Grüße
Dominik
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 08.06.2015, 17:59
Titel:
|
 |
Zitat: |
Stehe ich auf dem Schlauch? |
ja
Jan S hat Folgendes geschrieben: |
Man speichert "viele" Matrizen nicht als A1, A2, A3..., denn dabei wird ein Index im Namen der Variablen versteckt. Wenn diese Matrizen aber etwas darstellen, was zusammen gehört (also auch mit Sinn addierbar ist), speichert man sie auch zusammen, z.B. als Cell-Array:
|
_________________
richtig Fragen
|
|
|
DominikB |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 27.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.06.2015, 20:37
Titel: Indexweise Summation von Elementen vieler Matrizen
|
 |
Jan S hat Folgendes geschrieben: |
Man speichert "viele" Matrizen nicht als A1, A2, A3..., denn dabei wird ein Index im Namen der Variablen versteckt. Wenn diese Matrizen aber etwas darstellen, was zusammen gehört (also auch mit Sinn addierbar ist), speichert man sie auch zusammen, z.B. als Cell-Array: ...
|
Ich sehe den Zusammenhang zwischen der Benennung meiner Matrizen und meiner Frage nicht. Dann nenn sie halt Matrizen A,B,C, dann ist kein Index versteckt... . Klar, kann ich sie in Cell-Arrays abspeichern und ja, man muss dann eine längere Zeile schreiben, um mit den Daten, die darin abgespeichert sind, rechnen zu können.
Aber mit dem von dir genannten Weg komme ich nicht auf die gesuchte Lösung...
Grüße
Dominik
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 08.06.2015, 21:23
Titel:
|
 |
wenn du sie a b und c nennst läuft das auf das selbe hinaus. du versteckst eine information im namen. wenn du einfach mit ihnen rechnen willst musst du ein format benutzen das das erlaubt. in deinem fall ist das ein 3d array. so wie jan gesagt hat. wenn du informationen die zusammen gehören in unterschieldichen arrays speicherst ist das natürlich richtig nur kann man dann ebend nicht einfach mit ihnen rechnen. wenn du extra 5 namen anlegst musst du dann auch damit klar kommen das du ihnen 5 namen gegeben hast und nicht nur einen.
du solltest also anstatt A1 A2 und A3 zu erzeugen A(:,:,1) oder auch A{1} erzeugen etc. dann kannst du auch einfach mit ihnen rechnen.
sonst musst du einen sehr schlechten weg über eval gehen oder halt per hand A1+A2+A3 schreiben
_________________
richtig Fragen
|
|
|
DominikB |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 27.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.06.2015, 10:33
Titel: Matrizen indexweise addieren - NICHT mit ">> sum&
|
 |
Winkow hat Folgendes geschrieben: |
du solltest also anstatt A1 A2 und A3 zu erzeugen A(:,:,1) oder auch A{1} erzeugen etc. dann kannst du auch einfach mit ihnen rechnen.
sonst musst du einen sehr schlechten weg über eval gehen oder halt per hand A1+A2+A3 schreiben |
Auch wenn ich Matrizen in Cell oder Structs abspeichere, ermöglichen mir ebenfalls diese Formate nicht, ohne Schleifen oder "per Hand" die Werte der Matrizen so zu addieren wie es
indexweise macht.
Wenn ich z.B. ein Array an Matrizen in Cells abspeichere, dann kann ich die einzelen Cell-Position nur mit einer Schleife oder
abfragen und letzteres addiert die Matrizen wieder in Richtung einer Dimension.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 09.06.2015, 11:39
Titel:
|
 |
Zitat: |
Auch wenn ich Matrizen in Cell oder Structs abspeichere, ermöglichen mir ebenfalls diese Formate nicht, ohne Schleifen oder "per Hand" die Werte der Matrizen so zu addieren |
jan hat schon geschrieben wie du aus dem cellarray ein 3d array machst.
Zitat: |
Wenn ich z.B. ein Array an Matrizen in Cells abspeichere, dann kann ich die einzelen Cell-Position nur mit einer Schleife oder
abfragen und letzteres addiert die Matrizen wieder in Richtung einer Dimension. |
das ist auch das was du oben beschrieben hast.
_________________
richtig Fragen
|
|
|
|
|
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.
|
|