请问MATLAB中如何利用randperm产生M行的矩阵?

我知道randperm是产生一个1到n的随机序列,我要的是产生一个M行N列的矩阵,就是M个随机的1到N的排列,请高人指教

第1个回答  2010-06-06
用一个for循环。
n=10;
m=8;
for k=1:m
juzhen(k,:)=randperm(n);
end
juzhen
-------------
juzhen =

4 9 7 1 8 10 3 6 5 2
10 5 7 3 2 1 4 8 9 6
6 9 5 4 10 8 1 3 2 7
2 3 4 6 9 8 10 1 7 5
3 9 10 8 2 1 7 6 5 4
2 10 5 6 9 8 3 7 1 4
9 10 3 7 5 2 1 8 6 4
10 4 2 9 8 3 5 7 6 1本回答被提问者采纳

请问MATLAB中如何利用randperm产生M行的矩阵?
用一个for循环。n=10;m=8;for k=1:m juzhen(k,:)=randperm(n);end juzhen --- juzhen = 4 9 7 1 8 10 3 6 5 2 10 5 7 3 2 1 4 8 9 6 6 9 5 4 10 8 1 3 2 7 2 3 4...

matlab中生成一个m*n矩阵 每行都是randperm(n),且第一列也是randperm(n...
第一列应该是randperm(m)吧?而且应该是n大于等于m。有问题再说。祝进步。代码如下:m=3,n=4;%m,n赋值,保证n大于等于m A=zeros(m,n);%待求矩阵 B=randperm(m);B=B';for i=1:m mark=0;b=randperm(n);while(~mark)if(B(i)==b(1))A(i,:)=b;mark=1;else b=randperm(n);e...

关于matlab中的randperm函数
在Matlab中,randperm同样实用。示例一显示了如何在命令行中使用,如randperm(5)返回2 3 4 1 5这样的结果。值得注意的是,randperm对于矩阵操作也有帮助,如在示例二中,可以随机打乱矩阵的行数,生成新的矩阵B,输出结果可能看起来像这样:A = 1 2 3 4 5 6 7 8 9 10 11 12 B = 1 2 3 ...

关于matlab中的randperm函数
在Matlab编程中,randperm函数是一个重要的工具,用于生成随机排列的整数序列。然而,使用这个函数时,确保输入参数的正确性至关重要。特别是当涉及矩阵操作时,如果s变量在程序开始前没有被正确定义,且其列数不是1,而你试图将其与6(或者任何其他数值)进行维度匹配,那么将会触发一个"维数不相符"的错...

matlab 产生矩阵,每行每列最多一个1,其余为零
a=(round(rand(10,1)));%求一个随机0-1矩阵 A=diag(a);%用0-1矩阵形成对角矩阵 b=randperm(10);C=A(:,b)C是把一个随机的对角矩阵打乱

matlabrandperm函数的使用matlabrandn
1、这是产生标准正态分布的随机数或矩阵的函数,randn 是用来产生标准正态分布内伪随机数的函数,也就是你说容的均值为0,标准差σ = 1。2、以下是该函数的用法:Y = randn(n)返回一个n*n的随机项的矩阵。3、如果n不是个数量,将返回错误信息。4、Y = randn(m,n) 或 Y = randn([m ...

matlab random函数怎么用
第一个参数就是这个随机变量从哪个分布族抽出来。比如beta分布,二项分布,卡方分布,等等。可以只用部分字符串匹配(比如gam就可以代表gamma,因为只有这个名字里面有gam),也可以不区分大小写。

MATLAB中,怎样把一组给定的数据随机排列?
在MATLAB中,想要随机排列一组给定的数据,非常简单,只需借助内置的randperm()函数就能轻松实现。以下是一个详细的示例:首先,假设你有一个试验矩阵A,例如 A = [7,6,3,9,10],这些数字是你想要随机排列的数据。接下来,调用randperm()函数,比如randIndex_A = randperm(5),这将生成一个1到5...

MATLAB如何构造一个每行(每列)都相同的矩阵(方阵)
A = A(:,ones(1,n));这个绝对可以,亲测可行,不过答案来得有点晚。不是方阵也行,把上面的n改成你要的列数即可。不过貌似对A的长度有限制,太长的时候没法用这个办法。

matlab中random函数的用法
Y = randn(n),返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y = randn(m,n) 或 Y = randn([m n]),返回一个m*n的随机项矩阵。Y = randn(m,n,p,...) 或 Y = randn([m n p...]),产生随机数组(感觉就是三维数组,请看如下例子)。

相似回答