我有如下内容:
一个=
5 1 4
2 1 1
5 2 8
我希望返回第三行的最小值
b = min(a(3,:));
b =
2
我如何才能返回整列(即 (1;1;2)),然后 subtract 从矩阵中删除该列?
有什么建议吗?
最佳答案
如果您想从整个矩阵中减去具有最小值的列(如最初要求的那样),请使用 bsxfun像这样:
[v, i] = min(a(3,:));
a = bsxfun(@minus, a, a(:, i));
更新:
您可以像这样从 a
中提取和消除列:
[v, i] = min(a(3,:));
col = a(:, i);
a(:, i) = [];
关于matlab - 如何根据特定行条件的最小值返回整列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762300/