J'écris 2 fonctions dans matlab, une fonction d'initialisation et une fonction pour insérer des éléments dans un tableau en le traitant comme une liste doublement liée. Cependant, ma fonction d'initialisation ne renvoie que "ans =" et le tableau initialisé. Comment puis-je lui demander de définir également les valeurs de mes autres variables? Voici mon code:
function [ array, listp, freep ] = initialize( size )
array = zeros(size, 3);
listp = 0;
freep = 1;
end
Matlab vous permet de renvoyer plusieurs valeurs ainsi que de les recevoir en ligne.
Lorsque vous l'appelez, recevez des variables individuelles en ligne:
[array, listp, freep] = initialize(size)
Je pense qu'Octave ne renvoie qu'une seule valeur qui est la première valeur de retour, dans votre cas, "tableau".
Et Octave l'imprime comme "ans".
D'autres, "listp", "freep" n'ont pas été imprimés.
Parce qu'il est apparu dans la fonction.
Essayez ceci:
[ A, B, C] = initialize( 4 )
Et le "tableau", "listp", "freep" sera imprimé comme A, B et C.