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

kumulierte Matrix ohne doppelte Einträge

 

Alex2323
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 04.10.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2017, 17:44     Titel: kumulierte Matrix ohne doppelte Einträge
  Antworten mit Zitat      
Hallo Leute,

ich bräuchte einmal dringend eure Hilfe.

Ich habe eine Matrix bestehend aus 0- und 1-Einträgen und möchte gerne eine kumulierte Zeilensumme bilden, die jedoch bei 0- Einträgen keine Doppelung angibt.

Es geht darum, dass ich am Ende die Matrix spaltenweise nach 1-Einträgen durchsuchen möchte, allerdings ist das witzlos wenn zwischen dem ersten und zweiten 1-Eintrag überall 1-Einträge stehen.

Vielen Dank im Vorraus
LG Alex
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2017, 18:29     Titel:
  Antworten mit Zitat      
Hallo,

an sich:
cumsum und danach per logischer Indizierung doppelte Nullen entfernen: (ist Eintrag = 0) und (ist Differenz zum vorherigen Eintrag = 0).

Was soll statt doppelten Nullen denn da stehen? Du kannst ja nicht bei Matrizen einfach Einträge weglassen.

Ein konkretes Beispiel ist oft hilfreich.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Alex2323
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 04.10.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2017, 19:50     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich hatte gehofft es sei möglich innerhalb der cumsum zu differenzieren, also nur dann zu kumulieren, wenn der Eintrag ungleich null ist.
Also eine for-Schleife in der die Differenz zum vorherigen Element geprüft wird und dann den Wert in diesem Fall gleich null setzen

Als Beispiel:

Diese Matrix:

1 0 1
1 0 0
0 1 1

hätte folgende kumulierte Summe

1 1 2
1 1 1
0 1 2

ich hätte aber gerne folgende Ausgabe
1 0 2
1 0 0
0 1 2

Danke für die schnelle Antwort
LG Alex
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2017, 23:38     Titel:
  Antworten mit Zitat      
Hallo,

wie gesagt: cumsum, und dann nachträglich per logischer Indizierung die doppelten Elemente auf 0 setzen.

Grüße,
Harald
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.