What is the meaning of this code snippet?

function Average(Obj,signal,AnalysisType,TimePoints,varargin)
if nargin==3
ExtSeg=varargin{1};
else
ExtSeg=0;
end

Answers (1)

Les Beckham
Les Beckham on 3 Feb 2022
Edited: Les Beckham on 3 Feb 2022
What that looks like it is trying to do is to check to see if the caller provided an optional argument and setting the variable ExtSeg equal to the value of that optional argument if it is present or to zero if it is not.
However, since the function has four named arguments already, this probably isn't doing what was intended.
If the test was if nargin == 5 instead, then I believe it would work correctly.

Categories

Find more on Argument Definitions in Help Center and File Exchange

Products

Release

R2017b

Asked:

C A
on 3 Feb 2022

Edited:

on 3 Feb 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!