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

Betrag bestimmter Bereiche einer Matrix

 

SB

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2011, 16:06     Titel: Betrag bestimmter Bereiche einer Matrix
  Antworten mit Zitat      
Hallo Zusammen,
vorweg muss ich sagen, dass ich noch nicht wirklich lange mit Matlab arbeite und mir dementsprechend auch noch Erfahrungswerte fehlen. Dieses Forum war mir daher schon oft eine Hilfe. Jetzt stellt sich mir allerdings eine Frage, auf die ich bisher noch keine Antwort gefunden habe. Wäre super, wenn mir da jemand helfen oder zumindest ein paar Denkanstöße geben könnte. Das grundsätzliche Problem ist folgendes:

Ich habe Matrizen mit jeweils nur einer Zeile und unterschiedlich vielen Spalten. Die enthaltenen Werte sind entweder negativ, oder null. Meine Frage ist, ob es eine Möglichkeit gibt, von einer solchen Matrize eine neue ausgeben zu lassen, in der, für bestimmte Werte, das Vorzeichen getauscht (oder eben der Betrag ausgegeben) wird. Genauer gesagt möchte ich, dass die Vorzeichen für alle Werte zwischen zwei Nullen getauscht werden. Es sollen also alle Werte zwischen der ersten und der zweiten , der dritten und der vierten Null usw. in der neuen Matrix positiv sein.

Wie bereits erwähnt habe ich noch nicht wirklich viel Erfahrung mit Matlab und weiß daher nicht, in wieweit mein oben geschildertes Problem mit diesem Programm lösbar ist. Wäre euch für jede Information (auch die, dass das so nicht machbar ist) dankbar!


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 27.05.2011, 16:27     Titel:
  Antworten mit Zitat      
Code:


Die for-Schleife klappert den gesamten Vektor (= Matrix mit nur einer Spalte ODER einer Zeile) ab und prüft, ob vorhergehender Wert und folgender Wert == 0 ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 27.05.2011, 16:32     Titel:
  Antworten mit Zitat      
Hallo SB,

muss dir zustimmen Wink hier im Forum kann man echt viel lernen!

zu deinem Thema, hoffe hab dich richtig verstanden Wink
geht aber wahrscheinlich auch noch irgendwie einfacher... aber dazu bin ich auch erst zu kurz mit Matlab beschäftigt

Code:

x = [ 0 -1 0 1 5 7 0 -5 0]

z = find(x == 0)-1;
z = z(2:end);
x(z) = abs(x(z))
 
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.