2

我有以下内容:

一个=

 5     1     4
 2     1     1
 5     2     8

我正在寻找返回第三行的最小值

b = min(a(3,:));

b =

 2

我如何能够返回整个列(即 (1;1;2)),然后从矩阵中减去删除该列?

有什么建议么?

4

2 回答 2

5

如果您想从整个矩阵中减去具有最小值的列(如最初询问的那样),请使用bsxfun,如下所示:

[v, i] = min(a(3,:));
a = bsxfun(@minus, a, a(:, i));

更新:您可以像这样提取和消除该列a

[v, i] = min(a(3,:));
col = a(:, i);
a(:, i) = [];
于 2012-10-06T17:58:21.370 回答
3

为了删除列,使用

a(:,i) = [];

i列的索引在哪里

于 2012-10-06T18:02:31.493 回答