matlab - 如何根据特定行条件的最小值返回整列?

标签 matlab matrix

我有如下内容:

一个=

 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/

相关文章:

python - 将 3D numpy 矩阵 reshape 为 2D numpy 矩阵,保持行位置

performance - 提高标准矩阵乘法算法的效率?

oop - 重载函数

arrays - Matlab:如何随机打乱矩阵的列

c - 解决 matlab 函数 : expected '=' , ',' 、 ';' 、 'asm' 或 '__attribute__' 之前 '.' token 中 Simulink C 代码的编译错误

python - Numpy NdArray 记忆化

matlab - Matlab计算左特征向量的精度

matlab - 如何在mexopencv中读取avi文件

matlab - 我如何在 MATLAB 中测试整数?

SVG Matrix : differenciate a flip, 一次旋转,以及一次翻转加一次旋转