Frage zur einfachen MatrixerstellungIch habe etwas Code, wo ich eine Matrix mit einem Wert übergeben muss, um eine Zeile in einem Tabellenfeld hervorzuheben:
nw = new window("test",
tb = table box(
string col box("Col1", {"aa", "bb", "cc"}),
number col box("Col2", [1, 2, 3])
)
);
rm = [2];
tb << set selected rows(rm);
Die Zeilennummer, die hervorgehoben werden soll, ist eine Variable. Ich möchte die einfachste Syntax verwenden, um die Zeilennummernmatrix mit dieser Variablen zu erstellen. Diese Methoden funktionieren nicht:
a = 2; // Need a matrix holding this variable value
b = [a]; // Doesn't work
c = [expr(a)]; // No
d = [eval(a)]; // No
e = [eval(expr(a))]; // No
Dies sind die Methoden, mit denen ich gearbeitet habe:
// Works but so complicated...
f = eval(parse(evalinsert("[^a^]"))); // Yes
// Works too
g = [1];
g[1] = a; // Yes
Gibt es einen einfacheren Einliner, den ich vermisse? Ich möchte nur eine Matrix wie [2] dynamisch erstellen.
Re: Einfache Frage zur Matrix-ErstellungHa - perfekt! Danke Jeff.
Re: Einfache Frage zur Matrix-ErstellungIch denke, die Matrix () - Funktion wird das tun, wonach Sie suchen:
//:*/
a=2;
b=matrix(a);
/*:
[2]
In Ihrem ursprünglichen Beispiel:
a = 2;
nw = New Window( "test",
tb = Table Box(
String Col Box( "Col1", {"aa", "bb", "cc"} ),
Number Col Box( "Col2", [1, 2, 3] )
)
);
rm = Matrix( a );
tb << set selected rows( rm );Betreff: Einfache Frage zur MatrixerstellungHallo,
Wie führe ich dieses Konzept in umgekehrter Reihenfolge durch?
a = [2]
b = 2
?
Betreff: Einfache Frage zur MatrixerstellungDer ursprüngliche Prozess bestand darin, eine Matrix aus einem Skalar zu erstellen. Vermutlich fragen Sie sich, wie Sie einen Skalar aus einer Matrix zurückgeben können. Verwenden Sie den Index, um auf ein beliebiges Element in der Matrix zuzugreifen.
// make 1x1 matrix (one element)
a = [2];
// obtain element with a script using row-wise index or [row,col] coordinate
b = a[1];
b = a[1,1];
Betreff: Einfache Frage zur MatrixerstellungDas funktioniert auch:
a = 2;
// Concat scalar with empty matrix
b = a || [];
// Same, but in place
a ||= [];
Show(a, b);
/*:
a = [2];
b = [2];