我想要繪製序列,我寫了一個函數如何在Matlab中重載用戶定義的函數?
function show_seq(seq)
plot (seq)
end
我現在想重載此show_seq顯示2個序列類似
function show_seq(seq1, seq2)
plot(seq1,'color','r');
plot(seq2, 'color', 'b');
end
但這不工作,沒有任何人有有關如何在MATLAB中重載函數的想法?
我想要繪製序列,我寫了一個函數如何在Matlab中重載用戶定義的函數?
function show_seq(seq)
plot (seq)
end
我現在想重載此show_seq顯示2個序列類似
function show_seq(seq1, seq2)
plot(seq1,'color','r');
plot(seq2, 'color', 'b');
end
但這不工作,沒有任何人有有關如何在MATLAB中重載函數的想法?
如果將重載函數放在優先級較高的路徑中,則可以重載自己的某個函數。有關路徑優先級的更多詳細信息,請參閱this question。
然而,在你的情況下,最簡單的是修改show_seq
,使其接受多個可選輸入:
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
相關:http://stackoverflow.com/questions/8630889/overloading-functions/8631335 #8631335 –