+
+function [varargout] = bestblk(ims,k)
+ if(nargin<1 || nargin>2)
+ usage("siz=bestblk([m,n],k), [mb,nb]=bestblk([m,n],k)");
+ endif
+ if(nargout>2)
+ usage("siz=bestblk([m,n],k), [mb,nb]=bestblk([m,n],k)");
+ endif
+ if(nargin<2)
+ k=100;
+ endif
+ if(!isvector(ims))
+ error("bestblk: first parameter is not a vector.");
+ endif
+ ims=ims(:);
+ if(length(ims)!=2)
+ error("bestblk: length of first parameter is not 2.");
+ endif
+
+ mb=mi=ims(1);
+ p=mi;
+ if(mi>k)
+ for i=round(min(mi/10,k/2)):k
+ pt=rem(mi,i);
+ if(ptk)
+ for i=round(min(ni/10,k/2)):k
+ pt=rem(ni,i);
+ if(pt