Matrizen auswerten < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:55 Mo 26.02.2007 | Autor: | Sindibad |
Aufgabe | [Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
|
[Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
Hallo,
Ich bin neu hier, und hoffe dass jemand mir helfen kann.
Ich habe folgendes Problem. Ich habe ein Matrix (1000 X 2). Ich muss die Werte von der zweiten Spalten filtern, und zwar alle Werte, die unter einem bestimmten Wert liegen, sollen sortiert werden. Das habe ich mit mit der Funktion (<) gemacht, ging ganz einfach. Aber ich brauche noch die zugehörigen Werten von der ersten Spalte.
Weiß jemand wie das gemacht werden soll?
Wäre nett wenn jemand mir helfen kann.
Beste Grüße,
Sindibad]
|
|
|
|
Hallo,
das kann man so erreichen:
Sei a die ursprüngliche Matrix.
%Wir bestimmen die ursprünglichen Indizes der "kleiner als"-Elemente der 2. Spalte:
kleinerIndizes = find(a(:,2) < schwellwert);
%Dann sortieren wir diese kleineren Elemente und merken uns die Umsortierung in sortIndex:
[sortSpalte, sortIndex] = sort(a(kleinerIndizes, 2));
%Die Indizes der entsprechenden Elemente der 1. Spalte in nach der 2. Spalte sortierter Reihenfolge sind:
kleinerIndizes(sortIndex);
Gruß
Martin
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:42 Di 06.03.2007 | Autor: | Sindibad |
Hallo Martin,
und wie kann man, die Werte der einzelnen Indizes finden?
Gruß,
Sindibad
|
|
|
|
|
Hallo,
du legst sie in einer Variablen ab und greifst dann auf das i-te Element zu. Z.B. bekommst du den fünften dieser Indizes mit:
kI = kleinerIndizes(sortIndex);
i5 = kI(5);
Gruß
Martin
|
|
|
|