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

aus Matrix n "besten" ziehen

 

Seb85
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 15.03.11
Wohnort: ---
Version: 7.11.0 (R2010b)
     Beitrag Verfasst am: 18.04.2011, 14:28     Titel: aus Matrix n "besten" ziehen
  Antworten mit Zitat      
Hi,
habe ne Matrix <196040x12 double>
die Spalten stehen für Klassen
die Zeilen für ein bestimmtes Pixel in einem Bild.
jetzt möchte ich z.B. die n "besten" bzw. größten Zahlen für ein Pixel (also pro Zeile) haben.
Exemplarisch:
[0 0 0 0 4 0 6 0 1 0 0 9]' wäre meine erste Zeile, dann soll er mir die besten n geben, allerdings z.B. mit der Nebenbedingung, dass 40%+ der Gesamtanzahl mindestens für eine Klasse angegeben wurden.
in diesem Fall würde er mir ja dann die 9 ausgeben müssen die dann für Klasse 12 gehört.

Hoffe ihr versteht meine Frage Wink
bis später..^^
Private Nachricht senden Benutzer-Profile anzeigen


_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 18.04.2011, 14:50     Titel:
  Antworten mit Zitat      
Hallo Seb85,

Code:

values = [0 0 0 0 4 0 6 0 1 0 0 9]';
[max_value, index] = max(values)
 

_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Seb85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 15.03.11
Wohnort: ---
Version: 7.11.0 (R2010b)
     Beitrag Verfasst am: 18.04.2011, 21:06     Titel:
  Antworten mit Zitat      
ja gut, bleibt aber noch die Nebenbedingung, dass ich nicht immer nur max Werte haben will
angenommen, die Indizes sind ziemlich verteilt
bsp:
[1 1 1 1 3 1 3 1 2 6 0 0]';
dann würde er mir ja auch die 3en und 6 ausgeben, allerdings wären die ja nicht so aussagekräftig..d.h. ich bräuchte da nen Abbruchkriterium, dass gesagt wird "ok, nehme ich halt nur die 6, auch wenn die 3 noch zu den max values gehören würde"
is das irgendwie möglich Smile ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Seb85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 15.03.11
Wohnort: ---
Version: 7.11.0 (R2010b)
     Beitrag Verfasst am: 19.04.2011, 10:24     Titel:
  Antworten mit Zitat      
achja, und ich möchte nicht nur DEN max value, sondern evtl die 3 oder mehr Besten, was muss dann noch ergänzt werden ?
Private Nachricht senden Benutzer-Profile anzeigen
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 19.04.2011, 10:26     Titel:
  Antworten mit Zitat      
mir ist leider nicht klar was du mit den 'Besten' meinst.
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Seb85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 15.03.11
Wohnort: ---
Version: 7.11.0 (R2010b)
     Beitrag Verfasst am: 19.04.2011, 10:59     Titel:
  Antworten mit Zitat      
besten jetzt mit max_values gleichzusetzen..stellen für mich dann hinterher die "besten" dar..also beschränk dich auf die Maximalwerte Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 19.04.2011, 13:37     Titel:
  Antworten mit Zitat      
mir ist leider noch nicht ganz klar, nach was du unterscheidest. Ab wann gehört welche Zahl zu den "Besten"?

warum sollte er aus [1 1 1 1 3 1 3 1 2 6 0 0]' jetzt auch die 3-er nehmen die er dann eh verwirft?
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Seb85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 15.03.11
Wohnort: ---
Version: 7.11.0 (R2010b)
     Beitrag Verfasst am: 19.04.2011, 23:21     Titel:
  Antworten mit Zitat      
alllllllllllso:
wie oben erwähnt ist die Matrix ja 140.000x12 oder so groß

die 140.000 stehen dabei für Pixel, die 12 für jew. eine Klasse.
Wenn ich nun das 1. Pixel nehme, dann ordnet meine Klassifizierung diesem pixel bestimmte Votings zu.
Wie auch aus dem kl. Bsp. erkenntlich, wird z.B. einem Pixel die Klasse 1 (1. Spalte meiner Matrix) z.B. 1 mal gevotet, für Klasse 2 1 mal...für Klasse 10 6 mal, d.h. diesem Pixel würde die Klasse 10 zugeordnet werden, da sie ja am häufigsten Zustimmung erhalten hat.
Das wird dann für die anderen zich Pixel genauso gemacht.
So..
Auf die ganze Matrix gesehen müsste ich also gucken (evtl. in %-Angabe? d.h. ich rechne die Matrix-Werte in Kommazahlen um und schaue nach einem bestimmten Grenzwert >= 0,95) welche n Pixel den höchsten Wert erreichen.
Am Besten wäre natürlich hier ein Pixel das zu 100% einer Klasse zugeordnet wurde.
Ich hoffe das macht es einleuchtender.. 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.