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

Zeilenweise Mittelwertberechnung Matrix ohne Wert 0

 

LTSmash
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 07.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.01.2016, 13:52     Titel: Zeilenweise Mittelwertberechnung Matrix ohne Wert 0
  Antworten mit Zitat      
Hallo,

ich habe eine Matrix (1081 x 5 double) und möchte zeilenweise den Mittelwert berechnen lassen. Problem ist, dass ich in den Feldern der Matrix auch Werte mit "0" habe und ich diese Werte bei der Mittelwertbildung nicht berücksichtigen will.

Folgendes Beispiel:

Code:
X = [13301 13308 0 0 13331;13273 13303 13277 13323 13276;0 13310 13300 13361 13321];

X_mean = mean(X,2);


liefert mir:

Code:
X_mean =

   1.0e+04 *

    0.7988
    1.3290
    1.0658


Hier werden bei der Division die Anzahl der Werte mit 0 einberechnet. Wie kann ich dies umgehen?

Danke im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.01.2016, 14:09     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit wäre die Nullen in NaN's zu verwandeln und dann statt mean den nanmean Befehl zu nutzen. Dort werden automatisch NaN's von der Mittelwertbildung ausgeschlossen.

Code:
X(X==0)= NaN; % Nullen durch NaN ersetzen
X_mean = nanmean(X,2); % Mittelwertbildung


Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
LTSmash
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 07.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.01.2016, 14:13     Titel:
  Antworten mit Zitat      
DSP hat Folgendes geschrieben:
Hallo,

eine Möglichkeit wäre, die Nullen in NaN's zu verwandeln und dann statt mean den nanmean Befehl zu nutzen. Dort werden automatisch NaN's von der Mittelwertbildung ausgeschlossen.

Gruß DSP


Hallo,
danke für die schnelle Antwort. Okay. Wie wandel ich nun jede 0 in NaN um? Gibt es dazu eine Funktion?

Gruß LTSmash
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.01.2016, 14:14     Titel:
  Antworten mit Zitat      
Siehe mein Post...habe ein Bsp eben noch ergänzt. Fall du X mit den Nullen noch anderweitig benötigst, wäre ein Kopie von X zum Bearbeiten der Nullen natürlich sinnvoll.
Private Nachricht senden Benutzer-Profile anzeigen
 
LTSmash
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 07.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.01.2016, 14:18     Titel:
  Antworten mit Zitat      
Perfekt! Hat funktioniert!

Vielen Dank! Smile
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.