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

Wert in Matrix suchen

 

Philipp68
Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
     Beitrag Verfasst am: 09.02.2017, 15:29     Titel: Wert in Matrix suchen
  Antworten mit Zitat      
Hallo,
ich habe ein kleines Problem bei der Suche von Maxima in einer Matrix.
Meine Matrix hat ideal die Größe 130x15.


Code:

Size_b1 = size(b1); % b1 = Matrix
for i = 1:Size_b1(:,2) % 1:15
    Max_b1(:,i) = max(b1(:,i)); % Sucht mir in jeder Spalte das Maximum
    [Max_b1_x(:,i), ~] = find(b1(:,i) == Max_b1(:,i)); % Sucht in jeder Spalte meiner Matrix den x - Wert meiner Maxima
end
 


Nun erscheint bei dem Teil "Sucht in jeder Spalte meiner Matrix den x - Wert meiner Maxima" eine Fehlermeldung "Subscripted assignment dimension mismatch.". Ich komme hier nicht weiter, bei anderen Matrizen funktioniert es einwandfrei. Die Messdaten werden aus Excel eingelesen. Bei der obigen Matrix kann er mir 6 Maxima bestimmen und bricht dann ab. Die Anzahl der Maxima stimmt auch mit der Anzahl der Spalten überein.

Lg
Private Nachricht senden Benutzer-Profile anzeigen


Philipp68
Themenstarter

Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
     Beitrag Verfasst am: 09.02.2017, 15:44     Titel:
  Antworten mit Zitat      
Habe dies ausprobiert und es funktioniert nun Question

Code:

size_b1 = size(b1);
for i = 1:size_b1(:,2)
[b1_Max(i), b1_Max_x(i)] = max(b1(:,i));
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Philipp68
Themenstarter

Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
     Beitrag Verfasst am: 09.02.2017, 16:51     Titel:
  Antworten mit Zitat      
Die gleiche Fehlermeldung taucht nun hier auf

Code:

for i = 1:size_a1(:,2)
    a1_FDIL_neu(:,i) = a1(30:(a1_Max_x(i)),i)-100;
    a1_FDIL(:,i) = trapz(a1_FDIL_neu(:,i));
end
 


Edit: Mir ist aufgefallen, dass die Spalten (i) immer eine unterschiedliche Länge haben, deswegen kann wohl "a1_FDIL_neu(:,i)" nicht erstellt werden.

Gelöst:

Code:

for i = 1:size_a1(:,2)
a1_FDIl(:,i) = trapz(a1(30:a1_Max_x(i),i)-100);
end

 


Zuletzt bearbeitet von Philipp68 am 09.02.2017, 17:29, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
gs
Forum-Century

Forum-Century


Beiträge: 172
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2017, 17:10     Titel:
  Antworten mit Zitat      
Hi,

Wenn ich dein Problem richtig verstehe, dann kannst du doch mit einen Einzeiler dein Problem lösen:

Code:

maximum = (max(b1))'


 

_________________

Mein Seite.
Private Nachricht senden Benutzer-Profile anzeigen
 
Philipp68
Themenstarter

Forum-Century

Forum-Century


Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
     Beitrag Verfasst am: 09.02.2017, 17:24     Titel:
  Antworten mit Zitat      
Hallo gs,
vielen Dank für den Tipp, die Schreibweise "(max(x))" war mir nicht bekannt. Was genau sagen diese Klammern außerhalb des Befehls aus? Es wird jede Spalte dieser Matrix betrachtet und daraus das max bestimmt?
Private Nachricht senden Benutzer-Profile anzeigen
 
gs
Forum-Century

Forum-Century


Beiträge: 172
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2017, 08:03     Titel:
  Antworten mit Zitat      
Hi,

Die Klammer ist eigentlich unwichtig, ich hab das nur mit verschiedenen Varianten ausprobiert...

Code:

m1 = max(b1)' %Max-Werte spaltenweise und Ausgabe als Spaltenvektor
m2 = max(b1')' %Max-Werte zeilenweise und Ausgabe als Spaltenvektor


 


Grüße
_________________

Mein Seite.
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.