从2维矩阵计算最小值的向量我正在寻找一种简单的方法来获取2xn矩阵并产生一个矢量,其中矢量中的每个元素都是2xn矩阵中每一行的最小值
a=[ 1 4, 3 2, 5 6]
// the final result needs to be
[1, 2, 5]
遍历矩阵“ a”可以很容易地做到这一点,但是……我希望有人可以在流利的矩阵中使用更流利的解决方案。
数据表脚本编写回复:从2维矩阵中计算最小值的向量吉姆,你好
m = [1 4, 3 2, 5 6];
v = Transpose( V Min( Transpose( m ) ) ); // VMin( m`)`
回复:从2维矩阵中计算最小值的向量优秀的...回复:从2维矩阵中计算最小值的向量我知道有一个函数,但找不到,所以我使用矩阵运算逐步完成了它。触摸 @ 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 );
我怀疑我的方法是否比遍历数据矩阵的行更有效。我确信它没有比V Min()更有效!
回复:从2维矩阵中计算最小值的向量这组函数都在矩阵的垂直维度上起作用,并且可以使用相同的技术来获得水平版本。
脚本索引查看以V开头的函数
回复:从2维矩阵中计算最小值的向量哇!我希望你在做 @DonMcCormack 的挑战 !我仍然需要花一些时间。