2016-09-14 162 views
-2

我遇到了matlab中的函數問題,我需要做一個使用3個過濾器(高通,低通,帶通)的均衡器,我已經創建了三個不同的腳本來完成這個過濾器,現在我想要我的主均衡器調用這3個腳本程序,有人知道如何做到這一點?我在互聯網上搜尋,但我沒有找到任何可以幫助我的東西。在MATLAB中創建自定義函數

+0

發現作出的第一個函數的輸出是下一個的輸入... – Rotem

+0

看一看有關[函數和腳本] Matlab的文檔(HTTP ://se.mathworks.com/help/matlab/programming-and-data-types.html) – NLindros

回答

0

如果我正確地理解了您,您希望將您創建的過濾器作爲函數傳遞給將執行處理的某個腳本。通過傳遞一個函數句柄作爲參數,這相當簡單。如果,例如,您有一個名爲high_pass_filter(寫在一個文件high_pass_filter.m)功能,那麼您可以在使用類似把它作爲一個參數傳遞給函數:

do_processing(@high_pass_filter, arguments); 

在功能do_processing,它作爲它的定義是這樣

function do_processing(filter, arguments) 

然後應用過濾器(即執行high_pass_filter.m),你只需要編寫

filter(arguments_for_filter_function); 

然後就可以調用三種不同濾波器的處理功能相同。

更多功能的手柄可以this page of the Matlab documentation