Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Modellbildung und Simulation dynamischer Systeme

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zeile und Spalte einer bestimmten Zahl im Vektor

 

DerNichtsWissende

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2020, 15:50     Titel: Zeile und Spalte einer bestimmten Zahl im Vektor
  Antworten mit Zitat      
Hallo Leute,
ich hab einen beliebigen Vekotr. Wir nehmen einfach mal an der der Vektor 1000x1000 ist. Nun will ich die Lage des maximalen Wertes finden. Jedoch tu ich mich da schwer da ich noch neu im Matlab bin.
Bis jetzt hab ich folgendes. Hier wird mit der größte Zahl der MAtrix angezeigt, jedoch nicht ihre Postion.

Code:
%
clc;    % Clear the command window.
close all;  % Close all figures (except those of imtool.)
imtool close all;  % Close all imtool figures if you have the Image Processing Toolbox.
clear;  % Erase all existing variables. Or clearvars if you want.
workspace;
RGB = imread ( 'IMG_0331.JPG');
I= rgb2gray (RGB);
[Gmag,Gdir] = imgradient(I);

max (abs(I(:)));

 


DerNichtsWissende

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2020, 10:49     Titel:
  Antworten mit Zitat      
kann mir keiner helfen '?
 
Harald
Forum-Meister

Forum-Meister


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

2. Rückgabeargument von max zurückholen, dann ind2sub. Beispiel:

Code:
M =magic(5)
[v, idx] = max(M)
[r,c] = ind2sub(size(M), idx)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
DerNichtsWissende

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2020, 15:26     Titel:
  Antworten mit Zitat      
Danke für deine Antwort. Jedoch erhalte ich jetzt iwelche zahlen..wofür stehen diese ?
Ich will einfach nur zum Schluss wissen in welcher Zeile meine Größte Zahl ist. Zum beispiel.: Größte Zahl = X. Befindet sich in Zeile Y
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 21.554
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.05.2020, 15:30     Titel:
  Antworten mit Zitat      
Hallo,

v steht für value (größte Zahl)
r steht für row (Zeile), c steht für column.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
DerNichtsWissende

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: Gestern 11:23     Titel:
  Antworten mit Zitat      

Zeile und Spalte einer bestimmten Zahl im Vektor
Klicke hier, um den Artikel bei Amazon.de anzuschauen.

Code:
%
%
clc;    % Clear the command window.
close all;  % Close all figures (except those of imtool.)
imtool close all;  % Close all imtool figures if you have the Image Processing Toolbox.
clear;  % Erase all existing variables. Or clearvars if you want.
workspace;
RGB = imread ( 'IMG_0331.JPG');
I= rgb2gray (RGB);
[Gmag,Gdir] = imgradient(I);

max (abs(I(:)));  %  HIER WIRD MIR ALS GRÖßTE ZAHL 255 ANGEZEIGT

 
 M =magic(5)
[v, idx] = max(M) % HIER BEKOMM ICH PLÖTZLICH EINE 5 ZAHLEN, ALLE DEUTLICH UNTER 255
[r,c] = ind2sub(size(M), idx)
 



Hallo Harald, vielen dank für deine Erklärung.
Jedoch bekomm ich bei Value 5 Zahlen. Und diese sind deutlich unter der maximalen Zahl die ich mit
Code:

erhalten habe.
Woran liegt das =?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 21.554
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: Gestern 11:39     Titel:
  Antworten mit Zitat      
Hallo,

sorry, kleiner Fehler in meinem Beispiel:
M =magic(5)
[v, idx] = max(M(:))
[r,c] = ind2sub(size(M), idx)

Was du schon noch machen solltest ist das auf deinen Fall übertragen. Wenn du Maxima von M ausrechnen lässt, bekommst du logischerweise Maxima von M und nicht von I. Ich hatte nur das magic-Beispiel verwendet, weil man dort schön das Ergebnis nachvollziehen kann und ich vor allem das von dir verwendete Bild nicht habe.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2020 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.