new multiple matlab return-value

multiple - MATLAB: ¿valores de retorno múltiples de una función?



matlab title multiple lines (4)

Cambia la función que obtienes un solo resultado = [matriz, listp, freep]. Entonces, solo hay un resultado para mostrar

Estoy escribiendo 2 funciones en matlab, una función de inicialización y una función para insertar elementos en una matriz tratándola como una lista doblemente vinculada. Sin embargo, mi función de inicialización solo devuelve "ans =" ​​y la matriz inicializada. ¿Cómo puedo tenerlo también establecer valores de mis otras variables? Aquí está mi código:

function [ array, listp, freep ] = initialize( size ) array = zeros(size, 3); listp = 0; freep = 1; end


Creo que Octave solo devuelve un valor que es el primer valor de retorno, en tu caso, ''array''.

Y Octave lo imprime como "ans".

Otros, ''listp'', ''freep'' no se imprimieron.

Porque apareció dentro de la función.

Probar esto:

[ A, B, C] = initialize( 4 )

Y el ''conjunto'', ''listp'', ''freep'' se imprimirán como A, B y C.


Matlab le permite devolver múltiples valores y recibirlos en línea.

Cuando lo llame, reciba variables individuales en línea:

[array, listp, freep] = initialize(size)


Use lo siguiente en la función a la que llamará y funcionará perfectamente.

[a b c] = yourfunction(optional) %your code a = 5; b = 7; c = 10; return end

Esta es una forma de llamar a la función desde otra función y desde el terminal de comando

[aa bb cc] = yourfunction(optional);

Las variables aa, bb y cc ahora contienen las variables de retorno.