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

Matrix Zeile für Zeile nach Maxima durchsuchen mit Findpeak

 

gruenertee
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 15.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2015, 09:30     Titel: Matrix Zeile für Zeile nach Maxima durchsuchen mit Findpeak
  Antworten mit Zitat      
Hallo Matlab Forum Nutzer,

über die Funktion
Code:
möchte ich eine Matrix Zeile für Zeile nach den Maxima durchsuchen; als Beispiel habe ich folgende Matrix gewählt:
Code:
A=[ 1 2 3 1 0 0; 4 5 6 1 4 1; 7 8 9 1 4 1];
Zeilenanzahl = length(A(:,1));
for i=1:Zeilenanzahl
    [y(i,:),x(i,:)]=findpeaks(A(i,:));
end
 

Problem ist hierbei dass ich nicht in jeder Zeile der MAtrix nur einen Hochpunkt habe... Zusätzlich wird bei jeder Iteration die Werte für y und x überschrieben; Wie bekomme ich es hin dass mir Matlab für jede Iteration die Peaks ausgibt und es Zeile für Zeile in eine neue Matrix schreibt?

Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.06.2015, 10:08     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit:
Code:
A=[ 1 2 3 1 0 0; 4 5 6 1 4 1; 7 8 9 1 4 1];
Zeilenanzahl = size(A, 1);
y = cell(1, Zeilenanzahl);
x = cell(1, Zeilenanzahl);
for i=1:Zeilenanzahl
    [y{i},x{i}]=findpeaks(A(i,:));
end


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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 15.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2015, 10:28     Titel:
  Antworten mit Zitat      
Vielen Dank! Smile

Ich habe mir jetzt auch eine Möglichkeit zusammengebastelt

Code:

A=[ 1 2 3 1 0 0; 4 5 6 1 4 1; 7 8 9 1 4 1];
Zeilenanzahl = length(A(:,1));
Spaltenanzahl = length(A(1,:));
X=zeros(Zeilenanzahl,2);
for q=1:Zeilenanzahl
    [B,C]=findpeaks(A(q,:));
    for i=1:numel(C)
       X(q,i)=C(1,i);
   end  
 end
 


Ich bedanke mich für deine schnelle Antwort; ich vergleiche die beiden Methoden.

Danke!
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.