MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序.在大于100*100的矩阵里,按7*7划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 22:31:23
MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序.在大于100*100的矩阵里,按7*7划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序,

MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序.在大于100*100的矩阵里,按7*7划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序,
MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序.
在大于100*100的矩阵里,按7*7划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序,最终输出排序后的大矩阵.

MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序.在大于100*100的矩阵里,按7*7划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序,
m = 20; n = 24; r = 7;
A = randint(r*m,r*n,[1 100]); % 生成数据矩阵
[m1,n1] = size(A);
B = reshape(A,r,r,m1*n1/r^2); % 矩阵变换为 r*r*h2 的三维矩阵
[m2,n2,h2] = size(B);
for k = 1:h2
p = B(:,:,k);
p = p(:); % 变为一维排序
p = sort(p);
p = reshape(p,r,r)'; % 变换回 r*r 的两维
B(:,:,k) = p;
end;
R = reshape(B,m1,n1); % 排序后数据按A格式存入结果