2016-08-25 4 views
1

Ich habe VariablenSpiel Vektoren unterschiedlicher Länge durch ihre Maxima und bekommen Indizes

A = [40 67 68 70 66 65 99 90 65 20 21] 
B = [1 1 2 3 1] 

Wie kommt man Indizes wenn A durch die Maxima von B und A passend? Also stellen Sie sich vor, ich gleite mit B über A, zu stoppen, wenn die Maxima übereinstimmen, und dann möchte ich die "Position" von B mit Hilfe der entsprechenden Indizes von A.

gewünschtes Ergebnis:

4 5 6 7 8 
+5

Wie kommen Sie zu diesem Ergebnis? – Dan

Antwort

2

Eine Möglichkeit von vielen:

A = [40 67 68 70 66 65 99 90 65 20 21] 
B = [1 1 2 3 1] 

%// maxima 
[~,mA] = max(A(:)) 
[~,mB] = max(B(:)) 

%// result 
mDiff = mA - mB 
idx = (mDiff + 1) : (mDiff + numel(B)) 
+0

danke, sehr hilfreich – user3752566

+2

@ user3752566 wenn es hilfreich war, nicht kommentieren - upvote es. – EBH

+0

@thewaywewalk ausgezeichnete mentalist Fähigkeiten. Wenn ich das sehe, verstehe ich immer noch nicht, wie es sich auf die Frage bezieht, aber offensichtlich funktioniert es für den Fragesteller :) – patrik

Verwandte Themen