在matlab中创建最小输出矩阵

1 matlab matrix

有没有一种简单的方法在matlab中做这样的事情:

我有一个矩阵

t2 = [0.4366 0.4298 0.5907;
      0.9401 0.5358 0.6136;
      0.2305 0.5212 0.9759;
      0.9545 0.5572 0.9042];

t2 = [ 0      0.4298   0.5907
       0      0        0
       0,2305 0        0
       0      0        0 ]
Run Code Online (Sandbox Code Playgroud)

我想在每列的非最小元素的位置输出零,并在最佳位置输出最小元素.

Lui*_*ndo 5

这是另一种使用方法bsxfun:

result = t2 .* bsxfun(@eq, t2, min(t2));
Run Code Online (Sandbox Code Playgroud)

  • 绝对是解决这个问题最优雅的方法. (2认同)