Pourquoi puis-je faire ceci:Existe-t-il une version de bsxfun qui fonctionne sur les tableaux de structure?
a = [1 2];
b = [3 4];
bsxfun(@(ai,bj) ai + bj, a, b')
% 4 5
% 5 6
Mais pas:
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.
Et ne fonction de remplacement existe qui fonctionne dans les deux cas?
Malheureusement, la raison pour laquelle je devais après cela était d'utiliser deux champs de la structure – Eric
Eh bien, selon la nature exacte de votre problème, vous pouvez toujours utiliser cette technique si vos champs ont le bon format. Qu'essayez-vous de faire? –