1楼:匿名用户
m = randperm(100);
>> n = randperm(100);
>> k = m(n);
>> p(n) = k;
注释:m是源数据,n是随机数,k为打乱后的矩阵,p即为所求。
2楼:导超
因为你的这个是两个数的交换,要变回来很简单,再做一次类似的打乱。
>> a=[103,10,45];
>> b=[1,3,2];
>> m=a(:,b)
m =103 45 10
>> m(:,b)
ans =
103 10 45
就变回来了
3楼:匿名用户
这实际上是个抽象代数问题:
设p为一个长度为n置换,则连续用p置换n次后就还原了。
楼上用的就是这个原理。
matlab中已知一矩阵,如何将其中的已知的元素打乱顺序进行随机排列得到新的矩阵,如:
4楼:青山_独钓客
你的a矩阵错了吧,应该是6个元素,否则怎么可能得到2行3列?
给你分步了,很简单的:
a=[2 5 7 ;9 4 10];
b = [a(1,:) a(2,:)];
c = randperm(size(b,2));
d = b(c);
e = reshape(d,2,3);
5楼:匿名用户
reshape(a(randperm(numel(a))),size(a,1),size(a,2))
怎么用已知的随机矩阵打乱一幅**的像素位置,且能还原原**?求matlab程序,急!
6楼:志当存高远
如果你还没来完全退出自ps,图象还在,
就点历史记录bai
,想du退到那一步都行,
最多zhi20步。最上面的dao就是原始图像。
你就可以重做。图像关闭了
希望我的回答对你有所帮助
如有其他问题,可以继续追问,
您的采纳是我前进的动力!
在matlab中,如何实现将一个矩阵按行或列进行随机的重新排序?
7楼:匿名用户
假设行数或列数为n
vector = randperm(n);
vector是从1到n的整数随机排列的向量按照vector里各个元素的值重
新排列行列向量就可以了
假设待排列矩阵为m,排列后的矩阵为a
按列随机排列
a = zeros(size(m));
for i=1:n
a(:,i)=m(:,vector(i));end
在matlab中如何将一个行矩阵左右顺序颠倒
8楼:匿名用户
n = [ 1 2 3 4;
5 6 7 8;
9 10 11 12];
n_inv = n(:,end:-1:1);
output:
n_inv =
4 3 2 1
8 7 6 5
12 11 10 9
9楼:匿名用户
rot90(w,2)
flipdim(w,2)
matlab 重新排列打乱的矩阵的命令是什么
10楼:山野村夫
命令?a=[1 2 3;4 5 6;7 8 9];
b=[a(:,2),a(:,3),a(:,1)]
11楼:匿名用户
a=[123;456;789]
rot90(a)==[369;258;147]
matlab怎样将矩阵分块与分块矩阵还原
12楼:匿名用户
matlab将一个矩阵分成多个块矩阵可以用如下方法:
设矩阵x有p乘q个值(p和q都假设大于3),取出1到3行,1到3列的一小块矩阵x1,输入** x1=x(1:3,1:3)即可,前面1:
3是第1行到第3行,后面1:3表示第1列到第3列。
matlab把块矩阵合成一个矩阵
设矩阵a有p乘q个值,b矩阵有p乘m个值,则输入c=[a b],可以合成p乘(q+m)的一个大矩阵。行数相同,可以在列后面加列
设矩阵a有p乘q个值,b矩阵有m乘q个值,则输入c=[a;b],可以合成(p+m)乘q的一个大矩阵。列数相同,可以在行下面加行
求大神:如何用matlab将矩阵所有元素的位置打乱(即位置随机化)?小弟我变了一个程序,如下: 15
13楼:匿名用户
d=ones(20,20);
d(1,1)=0;
s=;%放在循环外
for i=1:20
yi=d(i,:);
q=randperm(length(yi));
yi=yi(q)
s=[s;yi]end
14楼:匿名用户
在程序最后加一个 s = reshape(s,20,20),就可以的啦
怎样用matlab按比例生成随机矩阵
15楼:小虾米
思路:第一步,把90个0,3个1,7个2按照顺序写出来;第二步,将这些数字的排列顺序随机打乱;第三步,写成10*10矩阵的形式。
matlab程序:
a = [0*ones(1,90),1*ones(1,3),2*ones(1,7)];%第一步
inx = randperm(100);
b = a(inx);%第二步
c = reshape(b,[10 10]);%第三步
16楼:匿名用户
可以这样做.
data=[zeros(1,90),ones(1,3),2*ones(1,7)]; %这是100个数
index=randperm(length(data)); %这个是产生一个1到100的一个随机排列
ok=data(index) %最后再将data中的数按index打乱