问题
Is it possible to overload a function in a Matlab class that you've created?
Like the following:
function [ sigma_nc ] = sustained_interference( N )
sustained_interference( N, N.center_freq);
end
function [ sigma_nc ] = sustained_interference( N, center_freq )
...
end
Unfortunately when I try this, I get a redefinition error
回答1:
If you create the function using the latter, then you can pass it just a single parameter which will be interpreted as the first. If you want default values, then you can do something like this:
function [ sigma_nc ] = sustained_interference( N, center_freq )
if nargin < 2
center_freq = N.center_freq;
end
...
end
来源:https://stackoverflow.com/questions/8087155/possible-to-overload-function-in-matlab-class