【发布时间】:2016-11-06 00:05:41
【问题描述】:
为什么我可以这样做:
a = [1 2];
b = [3 4];
bsxfun(@(ai,bj) ai + bj, a, b')
% 4 5
% 5 6
但不是这个:
a = struct('x', {1 2});
b = struct('x', {3 4});
bsxfun(@(ai,bj) ai.x + bj.x, a, b');
% Error using bsxfun
% Operands must be numeric arrays.
是否存在适用于这两种情况的替换函数?
【问题讨论】: