Octave opérateur: automatique système de radiodiffusion appliquée
En octave 3.6.2, j'ai une matrice X=[1 2 3; 2 4 5; 2 6 5; 2 3 7; 3 6 8; 2 4 6; 3 6 8; 4 7 10]
et je veux calculer X-mean(X), ce qui me donne:
octave:2> X-mean(X)
warning: operator -: automatic broadcasting operation applied
ans =
-1.37500 -2.75000 -3.50000
-0.37500 -0.75000 -1.50000
-0.37500 1.25000 -1.50000
-0.37500 -1.75000 0.50000
0.62500 1.25000 1.50000
-0.37500 -0.75000 -0.50000
0.62500 1.25000 1.50000
1.62500 2.25000 3.50000
cependant, lorsque j'essaie la même commande sur une machine différente, il se plaint de ce que la taille des matrices ne correspondent pas:
error: operator -: nonconformant arguments (op1 is 7x3, op2 is 1x3)
Aucune idée de comment l'activer "automatique de radiodiffusion" qui est appliqué dans le premier cas? (octave versions sont les mêmes!)
qui semble très bizarre. Vous ne pouvez pas activer ou désactiver automatique brodcasting. Êtes-vous sûr qu'ils sont vraiment à l'exécution de la même Octave version? Notez que vous pouvez avoir la même Octave version installé sur les deux machines, mais qui exécutent différentes versions. Vérifier la valeur de
OCTAVE_VERSION
à l'octave de l'invite.OriginalL'auteur Vahid Mir | 2013-06-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez demander explicitement de radiodiffusion en appelant
bsxfun(operation, A, B)
, donc dans votre cas:Octave de référence, Matlab référence
OriginalL'auteur emu
désolé de venir si tard.
Même si, avec la même version, vous êtes susceptible d'avoir le 2ème installation de machines différentes.
Regarder Octave de Radiodiffusion de la documentation, vous pouvez définir l'avertissement beahaviour directement:
warning ("error", "Octave:broadcast");
vs
OriginalL'auteur user3836580