Berechnen Sie einen Vektor von Miniums aus einer 2-dimensionalen MatrixIch suche nach einer einfachen Methode, um eine 2xn-Matrix zu nehmen und einen Vektor zu produzieren, bei dem jedes Element im Vektor der Mindestwert für jede Zeile in der 2xn-Matrix ist
a=[ 1 4, 3 2, 5 6]
// the final result needs to be
[1, 2, 5]
Das Schleifen durch die Matrix "a" kann dies leicht tun, aber ... Ich hoffe, dass jemand da draußen Matrizen besser beherrscht und eine effizientere Lösung hat
DatentabelleSkripterstellungBetreff: Berechnen Sie einen Vektor von Miniums aus einer 2-dimensionalen MatrixWow! Ich hoffe, Sie tun es @DonMcCormack 'S Herausforderungen ! Da muss ich mich noch etwas durcharbeiten.
Betreff: Berechnen Sie einen Vektor von Miniums aus einer 2-dimensionalen MatrixDiese Gruppe von Funktionen arbeitet alle mit der vertikalen Dimension einer Matrix und kann dieselbe Technik verwenden, um eine horizontale Version zu erhalten.
scripting index looking at functions that start with VScripting-Index, der sich Funktionen ansieht, die mit V beginnen
Betreff: Berechnen Sie einen Vektor von Miniums aus einer 2-dimensionalen MatrixIch wusste, dass es eine Funktion gibt, aber ich konnte sie nicht finden, also habe ich es Schritt für Schritt mit Matrixoperationen gemacht. Touché @gzmorgan0 !
Names Default to Here( 1 );
// define 2xn data matrix
a = [ 1 4, 3 2, 5 6];
// compute row-wise differences as a vector
b = a[0,1] - a[0,2];
// determine deficit in first column of data matrix
c = b < 0;
// determine deficit in second column of data matrix
d = !c;
// create conforming matrix of deficits
e = c || d;
// multiply to get minimum value
f = a * e`;
// extract minimum value from diagonal elements
Vec Diag( f );
Ich bezweifle, dass mein Weg effizienter ist, als über die Zeilen der Datenmatrix zu iterieren. Ich bin sicher, es ist nicht effizienter als V Min ()!
Betreff: Berechnen Sie einen Vektor von Miniums aus einer 2-dimensionalen Matrixexzellent...Betreff: Berechnen Sie einen Vektor von Miniums aus einer 2-dimensionalen MatrixHallo Jim,
m = [1 4, 3 2, 5 6];
v = Transpose( V Min( Transpose( m ) ) ); // VMin( m`)`