Does any elegant way to pass augments through nested function calls
Show older comments
Hello,
I encountered some case of code which written like follows.
The problem is the augments are difficult to handle if these are named lengthy.
My question is does any ways keep the function structure but easier to handle and debug?
script.m
b = 1;
c = 2;
d = 3;
e = 4;
f = 5;
g = 6;
h = 7;
i = 8;
j = 9;
k = 'nest';
a = nestb(b,c,d,e,f,g,h,i,j,k)
nestb.m
function varargout = nestb(varargin)
b = varargin{1}
c = varargin{2}
d = varargin{3}
e = varargin{4}
f = varargin{5}
g = varargin{6}
h = varargin{7}
i = varargin{8}
j = varargin{9}
k = varargin{10}
if numel{varargin} > 10
test = varargin{11}
qq = varargin{12}
ww = varargin{13}
end
if b > 0
tmpb = b + nestc(c,d,e,f)
else
tmpb = nestc(c,d,e,f)
end
varargout{1} = tmpb;
end
nestc.m
function varargout = nestc(varargin)
c = varargin{1}
d = varargin{2}
e = varargin{3}
f = varargin{4}
g = varargin{5}
h = varargin{6}
i = varargin{7}
j = varargin{8}
k = varargin{9}
if c > 0
tmpc = c + nestd(d,e,f,g,h,i,j,k)
else
tmpc = nestd(d,e,f,g,h,i,j,k)
end
varargout{1} = tmpc;
end
nestd.m
function varargout = nestd(varargin)
d = varargin{1}
e = varargin{2}
f = varargin{3}
g = varargin{4}
h = varargin{5}
i = varargin{6}
j = varargin{7}
k = varargin{8}
if isnumeric(k)
tmpd = d + e + f + g + h + i + j + k;
else
tmpc = d + e + f + g + h + i + j;
end
varargout{1} = tmpd;
end
Accepted Answer
More Answers (0)
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!