作业帮 > 综合 > 作业

MATLAB,处理矩阵m*n,使元素值不变,只是随机改变元素在矩阵中所在的位置,请注意“随机”二字,如何做?

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/23 01:11:55
MATLAB,处理矩阵m*n,使元素值不变,只是随机改变元素在矩阵中所在的位置,请注意“随机”二字,如何做?
RT,矩阵还是m*n的哦
MATLAB,处理矩阵m*n,使元素值不变,只是随机改变元素在矩阵中所在的位置,请注意“随机”二字,如何做?
用随机函数 随机出要交换的元素 和 要交换的位子 然后交换.
再问: 可行么?具体应该怎么写这个程序呢?请问reshape可以么?
再答: reshape不行吧 它是改变矩形的形状而已 不是随机 我自己写了个 你看一下 n=2; m=3; a=[1,2,7; 4,9,6]; % a是初始矩阵 b=randperm(n*m); % b是随机矩阵 b c=zeros(n,m); % c是a变换后的矩阵 for k=1:n*m rowc=floor( b(k)/(m+1) )+1; colc=mod( b(k),m ); if( colc==0 ) colc=m; end rowa=floor( k/(m+1) )+1; cola=mod( k,m ); if( cola==0 ) cola=m;end; c( rowc,colc )=a( rowa,cola ); end c 好久不写matlab 花了不少时间 你看这个行不