29 lines
710 B
Matlab
Executable File
29 lines
710 B
Matlab
Executable File
function varargout = size(X,d)
|
|
% SIZE (overloaded)
|
|
|
|
if nargin == 1 && nargout > 1 && nargout == length(X.dim)
|
|
for i = 1:length(X.dim);
|
|
varargout{i} = X.dim(i);
|
|
end
|
|
return
|
|
elseif nargin == 1 && nargout > 1 && nargout < length(X.dim)
|
|
% Weird but this is MATLAB standard
|
|
for i = 1:nargout-1
|
|
varargout{i} = X.dim(i);
|
|
end
|
|
varargout{end+1} = prod(X.dim(nargout:end));
|
|
return
|
|
end
|
|
|
|
if nargin == 1
|
|
varargout{1} = X.dim;
|
|
else
|
|
if (d < 1) || d~=round(d)
|
|
error('Dimension argument must be a positive integer scalar in the range 1 to 2^31.');
|
|
end
|
|
if d <= length(X.dim)
|
|
varargout{1} = X.dim(d);
|
|
else
|
|
varargout{1} = 1;
|
|
end
|
|
end |