[Matlab] Die Stelle einer Zahl aus einem Vektor anzeigen lassen

Neue Frage »

mj1564654 Auf diesen Beitrag antworten »
[Matlab] Die Stelle einer Zahl aus einem Vektor anzeigen lassen
Meine Frage:
moin moin,
kann mir jemand erklären, wie mir matlab aus einem vektor der form x=[2:10] z.b. verklickern kann, an welcher Stelle sich eine bestimmte Zahl innerhalb des vektors befindet?

z.b. 3 steht in dem von mir genanntn vektor an 2. stelle.
ist das irgendwie möglich?
beste grüße



Meine Ideen:
ich habe absolut keinen blassen schimmer!
chrizke Auf diesen Beitrag antworten »
RE: [Matlab] Die Stelle einer Zahl aus einem Vektor anzeigen lassen
Wenn ich dich richtig verstanden habe:

code:
1:
[u v] = max(x==3)


In v steht die Position der Zahl.
Airblader Auf diesen Beitrag antworten »

(Rund 1.7-mal) schneller und daher (aber auch aus anderen Gründen) besser wäre

code:
1:
v = find(x == 3)


Im Übrigen sind eckige Klammern bei deinem 'x' überflüssig. Lieber so:

code:
1:
x = (2:10);


Das schlägt dir Matlab allerdings auch vor (sollte orange markiert sein).

Edit: Testprogramm zwecks Geschwindigkeitstest:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
x = (2:10);

tic
for ii = 1:100000
    v = find(x == 3);
end
t1 = toc;

clear v ii;

tic
for ii = 1:100000
    [u v] = max(x == 3);
end
t2 = toc;

t2/t1

clear all;


air
chrizke Auf diesen Beitrag antworten »

Zitat:
Original von Airblader
(Rund 1.7-mal) schneller und daher (aber auch aus anderen Gründen) besser wäre

code:
1:
v = find(x == 3)


Oh cool, das kannte ich noch gar nicht. Ich fand die Methode über das max auch immer sehr umständlich.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »