Funktionen in Matlab

Sprechen wir darüber, wie man eine Funktion in Matlab erstellt, nicht wahr?

Was ist also eine Funktion? Es handelt sich um einen Codeabschnitt in einem Programm, den man ausführen kann, wenn man ihn benötigt. Der Code einer Funktion ist vom Hauptprogramm getrennt und kann sich in derselben Datei wie das Programm oder in einer anderen Datei befinden. Die Verwendung von Funktionen ermöglicht es, den Code eines Programms übersichtlicher und geordneter zu gestalten.

Um eine Funktion in Matlab zu definieren, müssen Sie dieser Syntax folgen:

function [y1, y2, ... ] = funktionsname([x1,x2,...])
auszuführender Code
end

  • Die Buchstaben x1,x2... stehen für die Eingabevariablen, die die Funktion vom Aufruf erhält.
  • Die Buchstaben y1,y2... stehen für die Ausgabevariablen, die die Funktion an das aufrufende Programm zurückgibt.

In Matlab müssen Funktionen immer an den letzten Zeilen eines Skripts hinzugefügt werden. Andernfalls wird das Skript einen Fehler ausgeben.

Nachdem Sie eine Funktion definiert haben, können Sie sie von verschiedenen Teilen des Programms aus aufrufen und mehrmals ausführen.

    Beispiel

    Lassen Sie mich Ihnen ein praktisches Beispiel geben. Angenommen, Sie möchten ein neues Skript schreiben und eine Funktion namens "average()" erstellen.

    Diese Funktion sollte zwei numerische Daten x1 und x2 als Eingabe erhalten und deren arithmetisches Mittel y als Ausgabe zurückgeben.

    So können Sie die Funktion in Matlab definieren:

    function y = average(x1,x2)
    y = (x1+x2)/2;
    end

    Nun können Sie einen Aufruf der Funktion "average()" im Code des Hauptprogramms einfügen. Zum Beispiel:

    m=average(2,4);
    disp(m);

    function y = average(x1,x2)
    y = (x1+x2)/2;
    end

    Die Funktion "average()" erhält die beiden Eingabewerte x1=2 und x2=4, berechnet deren Durchschnitt y=(2+4)/2=3 und gibt das Ergebnis y=3 an das aufrufende Programm zurück.

    Das aufrufende Programm empfängt den Ausgabewert der Funktion (3) u Funktionen in Matlab Funktionen in Matlab nd weist ihn der Variablen "m" zu (m=3).

    Schließlich druckt das Programm den Wert von "m" auf dem Bildschirm.

    3

    Wenn Sie möchten, können Sie auch einen weiteren Aufruf der Funktion "average()" im Hauptprogramm machen und dabei unterschiedliche Werte als Eingabe übergeben. Zum Beispiel:

    m=average(2,4);
    disp(m);
    m=average(4,6);
    disp(m);

    function y = average(x1,x2)
    y = (x1+x2)/2;
    end

      Anmerkung. Wie Sie sehen können, ruft das Programm die Funktion "average()" zweimal von zwei verschiedenen Punkten im Hauptprogramm auf.
    1. Das erste Mal übergibt es die Werte 2 und 4 und erhält 3 als Antwort.
    2. Das zweite Mal übergibt es die Werte 4 und 6 und erhält 5 als Antwort.

    Dieses Mal empfängt die Funktion "average()" die Eingabewerte x1=4 und x2=6, berechnet deren Durchschnitt y=(4+6)/2=5 und gibt das Ergebnis y=5 an das aufrufende Programm zurück.

    Das aufrufende Programm empfängt den Ausgabewert der Funktion (5), weist ihn der Variablen "m" zu (m=5) und druckt den Wert von "m" auf dem Bildschirm.

    Daher ist das Ergebnis diesmal 5.

    3
    5

    Wie Sie sehen können, ist das Definieren und Verwenden von Funktionen in Matlab ziemlich einfach und unkompliziert.

    Es ermöglicht Ihnen, effizienteren und organisierteren Code zu schreiben, was in jeder Programmiersprache immer eine gute Sache ist.

    Wie man mehrere Ausgabewerte zurückgibt

    In Matlab können Sie tatsächlich mehr als einen Wert aus einer Funktion zurückgeben. Es ist wirklich ziemlich praktisch.

    Lassen Sie mich Ihnen ein Beispiel zeigen.

    Nehmen wir an, wir haben diese Funktion namens "power", die einen einzelnen Eingabewert nimmt und zwei Ausgabewerte produziert.

    [y1,y2]=power(2);
    disp(y1);
    disp(y2);

    function [y1, y2] = power(x)
    y1=x^2;
    y2=x^3;
    end

    In diesem Fall übergibt der Aufruf [y1,y2] = power(2) einen einzelnen Eingabewert x=2 an die Funktion.

    Die Funktion power() berechnet das Quadrat x2=4 und den Kubus x3=8 der Variablen x=2 und gibt diese an das aufrufende Programm zurück.

    Das aufrufende Programm empfängt die beiden Ausgabewerte, weist sie den Variablen y1=4 und y2=8 zu und druckt sie schließlich auf dem Bildschirm aus.

    4
    8

    A declaração return

    Mas e se quisermos sair da função antecipadamente, antes que ela termine de executar todas as instruções no bloco de código? É aí que a declaração "return" se torna útil.

    A declaração return permite sair de uma função antecipadamente.

    Quando Matlab encontra a declaração return no bloco de código de uma função, ele termina a execução da função e devolve o controle ao programa chamador.

    Nota. Se a declaração return não estiver presente no bloco de código, o controle retorna automaticamente ao programa chamador após a execução da última instrução no bloco da função.

    Por exemplo, veja esta versão modificada da função "potência":

    [y1,y2]=power(-2);
    disp(y1);
    disp(y2);

    function [y1, y2] = power(x)
    if x<0
    y1=0
    y2=0
    return
    end
    y1=x^2;
    y2=x^3;
    end

    Aqui, adicionamos uma declaração "if" para verificar se o valor de entrada é negativo.

    Se for, definimos os valores de saída para 0 e, em seguida, saímos imediatamente da função usando a declaração "return".

    Isso nos permite retornar antecipadamente sem executar mais nenhuma instrução no bloco de código.

    Neste código de exemplo, o valor passado é negativo (x<0), a declaração return termina a execução da função power(), retornando os resultados y1=0 e y2=0.

    0
    0

    Então é isso, a declaração "return" pode ser muito útil para sair de funções antecipadamente. Só lembre de usá-la com sabedoria e apenas quando necessário.

     
     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin

    Funktionen in Matlab