我有以下内容:
a =
5 1 4
2 1 1
5 2 8
Run Code Online (Sandbox Code Playgroud)
我期待返回第三行的最小值
b = min(a(3,:));
b =
2
Run Code Online (Sandbox Code Playgroud)
我该如何将能够返回整列(即(1; 1; 2)),然后减去从矩阵删除列?
有什么建议?
如果你想从整个矩阵中减去具有最小值的列(如最初要求的那样),请使用bsxfun,如下所示:
[v, i] = min(a(3,:));
a = bsxfun(@minus, a, a(:, i));
Run Code Online (Sandbox Code Playgroud)
更新:您可以a
像这样提取和删除列:
[v, i] = min(a(3,:));
col = a(:, i);
a(:, i) = [];
Run Code Online (Sandbox Code Playgroud)