matlab - 将函数应用于 MATLAB 中两个矩阵中的每一对列

标签 matlab

在 MATLAB 中,我想对矩阵 AB 中的每一对列向量应用一个函数。我知道必须有一种有效的(非 for)方法来执行此操作,但我无法弄清楚。该函数将输出一个标量。

最佳答案

尝试

na = size(A,1);
nb = size(B,1);
newvector = bsxfun(@(j,k)(func(A(j,:),B(k,:))),1:na,(1:nb)');

bsxfun 对 1:na 和 (1:nb)' 进行单例展开。在这种情况下,最终结果是 func 将应用于从 A 和 B 中提取的每对列向量。

请注意 bsxfun 可能很棘手:它可能要求应用的函数本身支持单例扩展。在这种情况下,它将可以完成您想要的工作。

关于matlab - 将函数应用于 MATLAB 中两个矩阵中的每一对列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9813554/

相关文章:

引用角点的Matlab校正图像

matlab - 如何在 Matlab 编辑器中放大/缩小?

matlab - 氡变换线检测

matlab - 如何找到两组3D点之间的仿射变换矩阵?

matlab - 在 Matlab 中将稀疏矩阵行归一化为零均值

c++ - 独立代码生成不支持函数 'uigetfile'

matlab - 特定颜色轮廓

algorithm - 高斯混合模型的EM算法实现

在使用 -nodesktop 和 -nosplash 选项后,MATLAB 仍然打开 GUI

python - MATLAB 和 Python 中的逆矩阵结果不同