function plot_multi_vectors(xval, varargin) %PLOT_MULTI_VECTORS This function plots multiple vectors on the same plot. %The vectors are plotted against time. % xval - the vector to be plotted against % varargin - the vectors to be plotted (with optional formatting) vectorNames = cell(length(varargin),1); numOfVectors = 0; for i = 1:length(varargin) dataHeader = varargin{i}; if(isPlotCharString(dataHeader)) continue; end % track the number of vectors to be used for legend creation numOfVectors = numOfVectors + 1; vectorNames{numOfVectors} = inputname(i+1); % plotting the individual vectors (with formatting) if(i ~= length(varargin)) if(isPlotCharString(varargin{i+1})) plot(xval,dataHeader,varargin{i+1}); else plot(xval,dataHeader); end else plot(xval,dataHeader); end % hold the plot for the next vectors if (numOfVectors == 1) hold all; end end grid ON; xlabel(inputname(1)); xlim([0,xval(length(xval))]); % constructing statement for inserting the legend legendString = ['legend(''']; for i = 1:numOfVectors if(i == numOfVectors) legendString = strcat(legendString,vectorNames{i,1},''',''Location'',''NorthWest'');'); else legendString = strcat(legendString,vectorNames{i,1},''','''); end end eval(legendString); end