求高手编写一个MATLAB里面的自定义函数,具有fftshift的功能。多谢了!!!
展开全部
function y = fftshift(x,dim)
if nargin > 1
if (~isscalar(dim)) || floor(dim) ~= dim || dim < 1
error(message('MATLAB:fftshift:DimNotPosInt'))
end
idx = repmat({':'}, 1, max(ndims(x),dim));
m = size(x, dim);
p = ceil(m/2);
idx{dim} = [p+1:m 1:p];
else
numDims = ndims(x);
idx = cell(1, numDims);
for k = 1:numDims
m = size(x, k);
p = ceil(m/2);
idx{k} = [p+1:m 1:p];
end
end
y = x(idx{:});
if nargin > 1
if (~isscalar(dim)) || floor(dim) ~= dim || dim < 1
error(message('MATLAB:fftshift:DimNotPosInt'))
end
idx = repmat({':'}, 1, max(ndims(x),dim));
m = size(x, dim);
p = ceil(m/2);
idx{dim} = [p+1:m 1:p];
else
numDims = ndims(x);
idx = cell(1, numDims);
for k = 1:numDims
m = size(x, k);
p = ceil(m/2);
idx{k} = [p+1:m 1:p];
end
end
y = x(idx{:});
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询