I am trying to plot sequences, I have written a function
function show_seq(seq)
plot (seq)
end
I now want to overload this show_seq to show 2 sequences something like
function show_seq(seq1, seq2)
plot(seq1,'color','r');
plot(seq2, 'color', 'b');
end
but this does not work, does anyone have idea about how to overload functions in MATLAB?
You can overload one of your own functions if you put the overloading function in a path that with higher precedence. For more details on path precedence, see this question.
However, in your case, the easiest would be to modify show_seq
so that it accepts multiple optional inputs:
function show_seq(varargin)
hold on %# make sure subsequent plots don't overwrite the figure
colors = 'rb'; %# define more colors here,
%# or use distingushable_colors from the
%# file exchange, if you want to plot more than two
%# loop through the inputs and plot
for iArg = 1:nargin
plot(varargin{iArg},'color',colors(iArg));
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With