可以在matlab类中重载函数吗?

gny*_*his 7 matlab overloading function

是否可以在您创建的Matlab类中重载函数?

如下:

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

    function [ sigma_nc ] = sustained_interference( N, center_freq )
       ...
    end
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试这个时,我得到了重新定义错误

Pen*_*One 9

如果使用后者创建函数,则可以只传递一个将被解释为第一个参数的参数.如果你想要默认值,那么你可以这样做:

function [ sigma_nc ] = sustained_interference( N, center_freq )
   if nargin < 2
       center_freq = N.center_freq;
   end
   ...
end
Run Code Online (Sandbox Code Playgroud)