0001 function [x1,y1,x2,y2] = linechk(x1,y1,x2,y2)
0002
0003
0004
0005
0006
0007
0008
0009 str = ['x1=x1'';'; 'y1=y1'';'; 'x2=x2'';'; 'y2=y2'';'];
0010
0011
0012 sz = [size(x1); size(y1); size(x2); size(y2)]';
0013 psz = prod(sz);
0014
0015
0016 if psz(1)~=psz(2)
0017 error(' Arguments x1 and y1 must have the same size')
0018 end
0019
0020
0021 if psz(3)~=psz(3)
0022 error(' Arguments x2 and y2 must have the same size')
0023 end
0024
0025
0026 if any(max(sz)<2)
0027 error(' Arguments x1, y1, x2, y2 must be at least 2 by 1 vectors')
0028 end
0029
0030
0031 if any(all(sz~=2))
0032 error(' Arguments x1, y1, x2, y2 must be 2 by 1 vectors')
0033 end
0034
0035
0036 ii = find(sz(1,:)~=2);
0037 for jj = 1:length(ii)
0038 eval(str(ii(jj),:));
0039 end
0040 sz(:,ii) = flipud(sz(:,ii));
0041
0042
0043 n = max(sz(2,:));
0044 on = ones(1,n);
0045 if sz(2,1)<n, x1 = x1(:,on); end
0046 if sz(2,2)<n, y1 = y1(:,on); end
0047 if sz(2,3)<n, x2 = x2(:,on); end
0048 if sz(2,4)<n, y2 = y2(:,on); end
0049