|
|
Aus mehreren Matrizen eine Matrize machen |
|
fiftyone_88 |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 04.03.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.03.2016, 19:26
Titel: Aus mehreren Matrizen eine Matrize machen
|
 |
Hallo miteinander,
ich habe mehrere Matrizen und möchte daraus eine machen. Alle Matrizen besitzen 2 Spalten aber die Anzahl der Zeilen unterscheidet sich. ich möchte alle Werte der ersten Spalte besitzen und die dazugehörige Anzahl. Dieso sollen aber addiert werden.
Matrix A
1 5
2 2
3 0
4 6
5 10
Matrix B
4 5
5 2
12 0
14 1
15 10
Matrix c
20 5
22 2
24 0
26 1
28 10
Matrix Resulat
1 5
2 2
3 0
4 6+5=11
5 10+2=7
12 0
14 1
15 10
20 5
22 2
24 0
26 1
28 10
Danke schonmal für eure bemühungen
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.03.2016, 20:25
Titel: Re: Aus mehreren Matrizen eine Matrize machen
|
 |
Hallo fiftyone_88,
Was hast Du schon probiert und woran scheitert es?
In welcher Form werden wie viele Matritzen so behandelt? Sind das immer 3 oder ist das variabel? Sind die Werte in der ersten Spalte immer eindeutig pro Matrix?
Du bekommst per
ismember
heraus, welche Werte bereits existieren und welche Indizes sie in den jeweiligen Matritzen haben. Dann kannst Du die existierenden Werte addieren und die anderen anfügen in einer Schleife.
Hilft das schon oder benötigst Du ein Code-Beispiel?
Gruß, Jan
|
|
|
fiftyone_88 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 04.03.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.03.2016, 21:14
Titel: Re: Aus mehreren Matrizen eine Matrize machen
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Hallo fiftyone_88,
Was hast Du schon probiert und woran scheitert es?
In welcher Form werden wie viele Matritzen so behandelt? Sind das immer 3 oder ist das variabel? Sind die Werte in der ersten Spalte immer eindeutig pro Matrix?
Du bekommst per
ismember
heraus, welche Werte bereits existieren und welche Indizes sie in den jeweiligen Matritzen haben. Dann kannst Du die existierenden Werte addieren und die anderen anfügen in einer Schleife.
Hilft das schon oder benötigst Du ein Code-Beispiel?
Gruß, Jan |
die anzahl der matrizen kann varieren. hmm also so wie ich das verstanden habe würde ich das so machen mit dem ismember.
sagen wir mal ich habe die matrizen A,B,C.
dann müsste ich ja erstmal den längsten finden, um nach seinen werten in den anderen zu suchen. gibt es einen befehl dafür? oder muss ich schleifen anwenden.
danach verwende ich ismember mit diesem bei den anderen an.
clone=ismember(A,B)
res=A; % A ist die längste
for i=1:length(A)
if clone(i,1)=1
res(i,2)=res(i,2)+B(i,2)
end;
if clone(i,1)=0
%wie erweitere ich die vorhande matrix um eine zeile?
res(length,1)=B(i,1);
res(length,2)=B(i,2);
end;
end;
Das wäre bei 2 wie mache ich das jetz mit mehreren ich könnte es mit einer schleife machen, wenn ich den matrizen indizes gebe. dann muss ich noch jedes mal die schleife ändern, weil je nach anzahl der matrizen der wert der schleifen sich ändert. gibt es einen befehl um zu erfahren wie viele matrizen ich habe?
|
|
|
|
|
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.
|
|