|
|
|
20x30 Matrix bestimmte Elmente addieren |
|
| Max1990_2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.12.2011, 13:15
Titel: 20x30 Matrix bestimmte Elmente addieren
|
 |
Hallo zusammen
ich habe folgendes Problem:
ich soll in einer 20x30 Matrix alle negativen Elemente addieren wenn sie nicht auf der Hauptdiagonalen liegen, wie gehe ich vor?
ich bin neu im Umgang mit Matlab und stehe deshalb auf dem Schlauch
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.12.2011, 14:51
Titel: Re: 20x30 Matrix bestimmte Elmente addieren
|
 |
Hallo Max1990_2,
Dies scheint eine Hausaufgabe zu sein. Eine Lösung können wir also nicht posten. Welche Art von Hilfestellung benötigst Du dann?
Das übliche Vorgehen ist, dass Du zeigst, was Du bisher geschafft hast und erklärst, welche Probleme konkret auftreten.
Es gibt übrigens eine sehr kompakt Lösung in einer einzelnen Zeile.
Gruß, Jan
|
|
|
|
| Max1990_2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.12.2011, 18:08
Titel:
|
 |
ich wär folgerndermaßen vorgegangen
erst alle element der Matrix addiert
sum=sum(matrix)
davon dann die diagonelenelemente wiederum abziehen
mit diag (matrix)
und von dieser summe wieder alle positiven werte abgezogen aber
wie kann ich mir denn die positiven elemente herauspicken?
bzw nur die negativen was dann natürlich um einige krzer wäre
an dieser stelle hänge ich
|
|
|
|
| morisq |

Forum-Century
|
 |
Beiträge: 140
|
 |
|
 |
Anmeldedatum: 24.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 27.12.2011, 18:20
Titel:
|
 |
Idee:
1. Matrix Hauptdiagonale subtrahieren so das diese Werte = 0;
2. Restliche Matrix auf Negative Elemente untersuchen;
3. Sum(.....);
|
|
|
|
| morisq |

Forum-Century
|
 |
Beiträge: 140
|
 |
|
 |
Anmeldedatum: 24.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 27.12.2011, 18:29
Titel:
|
 |
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.12.2011, 18:30
Titel:
|
 |
Hallo Max1990_2,
Wenn Du Matlab-Code postest, ist es viel einfacher einen Ergänzungsvorschlag zu machen.
Das Summieren aller Elemente und das spätere Subtrahieren der ungewünschten birgt ein Risiko bei der Numerischen Anwendung: Es könnte einen Overflow bei den DOUBLE-Werten geben, wenn die Summe die größte exakt darstellbare Zahl überschreitet. Das ist zwar für eine kleine Test-Matrix mit "normalen" Werten unwahrscheinlich. Aber wenn man Numerik betreibt, sollte man gleich an die Ausnahmen denken.
Deshalb ist es besser, alle ungewünschten Elemente auf 0 zu setzen, bevor man die Summe bildet.
Noch effizienter wäre "logical indexing". Mit diesem Stichwort solltest Du genügend Themen in diesem Forum finden.
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|