作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/04/28 22:58:44
MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序.
在大于100*100的矩阵里,按7*7划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的49个数字排序,最终输出排序后的大矩阵.
MATLAB在大矩阵里,按划分成不重复的小矩阵(边界重叠).再把每个小矩阵里的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格式存入结果
再问: ��ã���Ϊ�������������ģ�����һ�������7�ľ��