2011-11-10 59 views
6

是否有可能在你創建的Matlab類中重載一個函數?可能在matlab類中重載函數嗎?

類似如下:

function [ sigma_nc ] = sustained_interference(N) 
     sustained_interference(N, N.center_freq); 
    end 

    function [ sigma_nc ] = sustained_interference(N, center_freq) 
     ... 
    end 

不幸的是,當我嘗試,我得到一個重新定義錯誤

+0

相關:http://stackoverflow.com/questions/8630889/overloading-functions/8631335#8631335 –

回答

9

,如果您使用後者的功能,那麼你可以通過它只是一個單一的參數,這將被解釋爲第一個。如果你想默認值,那麼你可以做這樣的事情:

function [ sigma_nc ] = sustained_interference(N, center_freq) 
    if nargin < 2 
     center_freq = N.center_freq; 
    end 
    ... 
end 
+0

一公頃的,我們走吧。 ..我需要這個nargin來完成這項工作。謝謝一堆!當它允許我接受你的答案時,我會的。 – gnychis

相關問題