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

Index des minimalen Eintrags der Spalte und der Dimension

 

Samu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2014, 14:34     Titel: Index des minimalen Eintrags der Spalte und der Dimension
  Antworten mit Zitat      
Hallöchen,
Ich bin wieder mit meinen Indizes beschäftigt.
Nun habe ich eine zweidimesionale Matrix, zb:
A(:,:,1)=[ 2 3; 4 5] und
A(:,:,2)=[ 1 4; 2 1]

Ich muss bzgl. aller Spalten den Index des Minimums bestimmen und will aber zudem herausfinden, in welcher Matrix diese steht, dh zb

das Minimum der ersten Spalte ist die 1. Sie steht in der ersten zeile und in der ersten Spalte und in der zweiten Matrix.

Ich finde jedoch keinen Befehl, der mir genau das ausgibt.

Kann mir jemand behilflich sein?

Liebe Grüße

Samu


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.02.2014, 15:15     Titel: Re: Index des minimalen Eintrags der Spalte und der Dimensio
  Antworten mit Zitat      
Hallo Samu,
Zitat:
Nun habe ich eine zweidimesionale Matrix, zb:
A(:,:,1)=[ 2 3; 4 5] und
A(:,:,2)=[ 1 4; 2 1]

Das ist keine zweidimensionale Matrix, sondern ein dreidimensionales Array.

Zitat:
Ich muss bzgl. aller Spalten den Index des Minimums bestimmen ...

Das ist noch nicht klar. Meinst Du das minimale Element, oder einen Vektor mit minimaler Norm?

MIN erlaubt es ja, die zu betrachtende Dimension anzugeben. Vielleicht klärt "doc min" das Problem bereits. Der zurückgelieferte lineare Index lässt sich noch per SUB2IND bzw IND2SUB in mehrdimensionale Indices umrechnen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Samu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2014, 15:29     Titel: Index des minimalen Eintrags der Spalte und der Dimension
  Antworten mit Zitat      
Hallo Jan,

A gibt mir direkt 2 2x2-Matrizen wieder. Ich möchte genau den Index des minimalen Eintrages beider Matrizen beispielsweise in der ersten Spalte beider Matrizen erhalten . ich will aber auch wissen, ob der minimale Eintrag in der ersten oder in der zweiten Matrix vorliegen.
doc min hat mir nicht geholfen.

Alleine den index des minimalen Eintrags lediglich einer Matrix erhalte ich mit
[x,y]=min(A(:,1))

Da ich jedoch zwei Matrizen unter A definiert habe, will ich das gesamte Min erhalten und auch wissen, wo es genau steht.

Hilft dir das weiter beim Verständnis?

Gruß, Samu
 
Samu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2014, 16:21     Titel: Re: Index des minimalen Eintrags der Spalte und der Dimensio
  Antworten mit Zitat      
das hatte ich überlesen:

Das ist keine zweidimensionale Matrix, sondern ein dreidimensionales Array.

Ja es ist ein dreidimensionales Array, aber mit sub2ind und ind2sub, komme ich leider auch nicht weiter.

Gruß Samu
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.02.2014, 20:34     Titel: Re: Index des minimalen Eintrags der Spalte und der Dimensio
  Antworten mit Zitat      
Hallo Samu,

Mir wird es noch nicht klarer. Ein konkretes Beispiel mit den Ergebnissen für das von Dir angegebene Array wäre wohl eindeutig. Was hast Du denn mit SUB2IND versucht und welches Schwierigkeiten sind aufgetreten?

Vielleicht hilft dies:
Code:
[minValue, minPos] = min(A, [], 1);

Wie unterscheiden sich jetzt diese Ergebnisse von dem, was Du suchst?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Samu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2014, 11:02     Titel:
  Antworten mit Zitat      
Hallo Jan,

Mit deinem Befehl
Code:
[minValue, minPos] = min(A, [], 1)

erhalte ich lediglich die Indizes der minimalen Einträge der einzelnen Spalten.
Hier ist ein Beispiel:
Sei
Code:
A(:,:,1)=[ 2 3
                        4 5]
A(:,:,2)=[ 1 4
               2 1]
 


Das Minimum der ersten Spalte beider Matrizen ist 1. dieser Wert liegt in der zweiten Matrix mit dem Index 1.

dh ich will als ausgabe die 2 und die 1 haben.

Ich hoffe das ist nun einleuchtender.
Viele Grüße
Samu
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.02.2014, 20:31     Titel:
  Antworten mit Zitat      
Hallo Samu,

Meinst Du, dass Du nach
Code:
[minValue, minPos] = min(A, [], 3)

suchst?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Samu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2014, 08:45     Titel:
  Antworten mit Zitat      
Hallo Jan,
den Code
Code:
[minValue, minPos] = min(A, [], 3)


Habe ich auch schon probiert, aber das gibt mir nihct das gewünschte aus.

Ich habe das mal ausprobiert:

Code:
[minValue, minPos]=min(A(:,1,:),[],3)


Ich bekomme raus:
minValue=(1
2)

und min Pos=(2
2)

Dh er bestimmt immer das Minimum zwischen dem eintrag A(1,1,1) und A(1,1,2) und dann das Min zwischen A(2,1,1) und A(2,1,2).

Ich will aber den Zeilenindex und Matrixindex des gesamten Minimums erhalten, dh.
min(A(1,1,1),A(1,1,2),A(2,1,1),A(2,1,2)) und Ausgabe soll sein:

minValue=1
minPos=2.

Gruß Samu
 
Samu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2014, 09:27     Titel:
  Antworten mit Zitat      
Zudem sehe ich grade, soll mir
minValue den Zeilenindex ausgeben. Noch gibt er mir den minimalen Eintrag aus.
Ich finde dazu einfach keinen Befehl.

Gruß Samu
 
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.