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

Schleifen in Matlab für eine Matrix

 

eldariko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2017, 16:07     Titel: Schleifen in Matlab für eine Matrix
  Antworten mit Zitat      
Hallo zusammen,
ich habe hier ein Problem: Ich Habe eine Matrix Matrix(256x63) und vordefinierte Werte, wie wert_max und wert_min. Diese dürfen nicht überschritten werden. Nun will ich eine for Schleife mit if Bedingung basteln, die jede Spalte mit 256 Werten aus der Matrix überprüft, ob das Maximum oder das Minimum von der Spalte den vordefinierten Wert (Schwellwert) überschreitet. Wenn ja , dann soll diese Spalte weggelassen werden, und wenn nicht, dann sollen die Spalten, die quasi die Prüfung bestanden haben, in einer neuen Matrix gespeichert werden. Hier ist mein Code (ist aber falsch, weiß aber nicht was):

Code:
wert_max = a;  % obergrenze vordefinert
wert_min = b; % untergrenze vordefiniert

 %k2=1;        % zähler für Matrix2

% for  k=1:63

 v= Matrix(:,k);  % schreibe Zeile von Matrix in v
 
 max_v = max(v);   % suche maximum von v
 min_v = min(v);  % suche minimum von v
 
 if max_v > wert_max || min_v < wert_min      % wenn max_v größer als wert_max     ODER min_v kleiner als wert_min -> "Fehler" entdeckt

  continue;     %-> nächster Schleifendurchlauf
  else
  Matrix2(:,k2)=v;  % wenn kein Fehler entdeckt, schreibe v in neue (fehlerfreie) Matrix
  k2=k2+1;

 end



Wäre euch sehr dankbar, wenn ihr mir dabei helfen könntet! Vielen Dank im Voraus!

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 27.08.2017, 04:32     Titel: Re: Schleifen in Matlab für eine Matrix
  Antworten mit Zitat      
Hallo eldariko,

Das geht auch ohne Schleife:
Code:
remove = any(Matrix < b, 1) | any(Matrix > a, 1);
Matrix(:, remove) = [];

Hilft das schon?

Gruß, Jan
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.