J'ai une matrice I
, et je veux accumuler dans un tableau A
, pour chaque valeur I
, un intervalle en conséquence à ces valeurs I
permet de les appeler i
et j
.tableau rapide que le passage des arguments dans Matlab
function acc(i,j)
global A
A(i:j) = A(i:j)+1;
end
Toutefois, le passage et le retour des tableaux prennent trop de temps, parce que j'exécute la fonction plusieurs fois, et il est pas aussi simple que cet exemple.
Y a-t-il un moyen de l'accélérer? Comment puis-je passer un retour ces valeurs sans global?
Copie possible de http://stackoverflow.com/q/1258761/426834 – zellus
Si nous suggérons des améliorations à votre exemple simple, ne vous postez pas encore pour expliquer pourquoi ils sont inadéquats pour ce que vous essayez vraiment de faire ? Comment pouvez-vous espérer une aide réelle avec votre vrai problème si vous essayez de nous en protéger? –
Jetez un oeil à cette réponse http://stackoverflow.com/questions/1258761/do-i-conserve-memory-in-matlab-by-declaring-variables-global-instead-of-passing-t/1261429#1261429 écrire acc comme fonction imbriquée. @zellus: Je suis d'accord - toutes les réponses ont déjà été données. – Jonas