我有以下内容:
a =
5 1 4
2 1 1
5 2 8
我希望返回第三行的最小值
b = min(a(3,:));
b =
2
我如何能够返回整个列(即(1; 1; 2))然后减去从矩阵中删除该列?
有什么建议吗?
答案 0 :(得分:5)
如果你想从整个矩阵中减去最小值的列(按照最初的要求),请使用bsxfun,如下所示:
[v, i] = min(a(3,:));
a = bsxfun(@minus, a, a(:, i));
更新:
您可以从a
中提取并删除列,如下所示:
[v, i] = min(a(3,:));
col = a(:, i);
a(:, i) = [];
答案 1 :(得分:3)
要删除列,请使用
a(:,i) = [];
其中i
是列的索引