1. 程式人生 > >Matlab函式控制代碼

Matlab函式控制代碼

Matlab中函式的呼叫方法分為直接呼叫法和間接呼叫法。

直接呼叫函式:被呼叫的函式通常稱為子函式。但是子函式只能被與其M檔案同名的主函式或在M檔案中的其他函式所呼叫,同時在一個檔案中只能有一個主函式。而使用函式控制代碼對函式進行呼叫則避免了上述問題。函式控制代碼實際上提供了一種間接呼叫函式的方法。建立函式控制代碼需要用到操作符@。對MATLAB函式庫中提供的各種M檔案中的函式和使用者自主編寫的程式中的內部函式,都可以建立函式控制代碼從而可以通過函式控制代碼來實現對這些函式的間接呼叫。

建立函式控制代碼的一般句法格式:Function_Handle = @Function_Filename;

其中  Function_Filename是函式所對應的M檔案的名稱或MATLAB內部函式名稱。

        @是控制代碼建立操作符

        Function_Handle變數儲存了這一函式控制代碼,並在後續的運算中作為資料流進行傳遞。

例如:F_Handle = @cos  就建立了MATLAB內部函式cos的控制代碼並將其儲存在F_Handle變數中。後續的運算過程中就可以通過F_Handle(x)來實現cos(x)的功能。通過函式控制代碼呼叫函式時,也需要指定函式的輸入引數。例如可通過F_Handle(arg1,arg2,...,argn)這樣的格式來呼叫具有多個輸入引數的函式。對於那些沒有輸入引數的函式,在使用控制代碼呼叫時,在控制代碼變數的圓括號中不填寫變數名即可,即F_Handle().