Wie wähle ich ein Element aus jeder Spalte einer Matrix in Matlab?

8
%Vor%

Wie kann ich eine Funktion aufrufen, um einen Vektor v[i] = a[b[i],i] zu erhalten?

    
dalibocai 18.11.2011, 14:36
quelle

2 Antworten

5
%Vor%

sub2ind wandelt Indizes in einen einzigen Index um.

    
cyborg 18.11.2011, 16:13
quelle
0

Eine andere Sache, die Sie ausprobieren sollten, um Ihrer Beschreibung möglichst nahe zu kommen, können Sie die Funktion arrayfun verwenden.

Definieren Sie zuerst eine Funktion, die einen Wert x auf die gewünschte Ausgabe abbildet.

%Vor%

Rufen Sie dann diese Funktion für jeden Eingang im i -Vektor auf.

%Vor%

Oder dies alles kann in einer einzigen Zeile auf die naheliegende Weise geschehen:

%Vor%

Dieser arrayfun ist einfach eine Abkürzung für die folgende Schleife:

%Vor%

Die verwandten Funktionen arrayfun , cellfun und structfun haben ähnliche Verwendungen und sind merkwürdiger Weise befähigend. Dieser Joel-Artikel überzeugte mich, ein Gläubiger zu sein.

    
Pursuit 18.11.2011 18:08
quelle

Tags und Links