Funzioni in matlab e mancanza dell'espressione return

di il
1 risposte

Funzioni in matlab e mancanza dell'espressione return

Salve a tutti.

Ho posto una domanda riguardo all'espressione return nel linguaggi di programmazione C. Una funzione in C puo' avere molteplici output ma il return puo' passare un solo valore alla funzione chiamante.

In Matlab tutto questo non esiste, vero? Le funzioni possono essere inserite all'interno di altre funzioni chiamanti. Ciascun funzione ha molteplici input e molteplici output ma non c'e' il return.
La sintassi function [y1,...,yN] = myfun(x1,...,xM) esprime il fatto che ci sono variabili x1,x2,....che la funzione usa come parametri di input e ci sono variabili y1,y2,... che rappresentano invece le variabili di output prodotte manipolando i parametri di input x1,x2,...

Ho capito bene o male?

Grazie,
code26

1 Risposte

  • Re: Funzioni in matlab e mancanza dell'espressione return

    Hai capito bene

    In realtà, l'istruzione "return" esiste in MatLab, ma no "ritorna" alcun valore; "return" può anche essere usato all'interno di uno script (quindi non una "funzione") con lo stesso effetto
    >> help return
    return Return to invoking function.
    return causes a return to the invoking function or to the keyboard.
    It also terminates the KEYBOARD mode.

    Normally functions return when the end of the function is reached.
    A return statement can be used to force an early return.

    Example
    function d = det(A)
    if isempty(A)
    d = 1;
    return
    else
    ...
    end

    See also function, keyboard, break, continue.
    Per quanto riguarda i parametri di input / output delle funzioni, MatLab ha delle utilissime possibilità: poter dichiarare delle funzioni che ricevano un numero di variabile di input e che ritornino un numero variabile di output.

    Questo si può fare utilizzando:

    "varargin", "varargout", "nargin", "nargout", ed altre variabili / funzioni correlate.

    Puoi trovare informazioni dettagliate nell'help di MatLab o, per esempio:

    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
1 risposte