如何用matlab产生一个随机数组,数组中的元素只有-1和+1.

供稿:hz-xin.com     日期:2025-01-14
怎样用matlab随机生成一个只有-1,1元素的矩阵?

楼上的方法有问题,产生的是0,-1,1的随机矩阵,不是-1和1
应该改成:
clear;
clc;
a=randint(3,2); %产生由0和1组成的,m*n维随机矩阵
a(find(a==0))=-1; %%%% 转换成-1和1的矩阵

>> x=rand(1,10);y=sum(x);r=x/y%r就是随机数和为一,且都是(0,1)内的数

r =

Columns 1 through 7

0.1623 0.0228 0.1636 0.1133 0.0175 0.0499 0.0980

Columns 8 through 10

0.1716 0.1729 0.0282

>> sum(r)

ans =

1.0000

>>

2*floor(rand(m,n)/0.5)-ones(m,n)
数组m*n

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...]),产生随机数组(感觉就是三维数组,请看如下例子)。

如何在matlab中产生0-2pi的随机数?
【1】一个随机数 >> rand()*2*pi ans = 1.2486 【2】很多随机数,比如3*3 >> rand(3,3)*2*pi ans = 3.7937 0.0960 5.8548 1.7102 4.6922 2.9279 1.2492 2.7966 2.6305 【3】补充:在任意区间[a,b]的随机数,用(b-a)*rand()+a,当rand=0时,为a;...

如何用matlab产生只有0和1的长度为N的随机序列
二楼说的有误。rand[X,Y]的参数X,Y是生成一个X乘Y的矩阵,里面都是随机数,范围从0到1(而不是只有0和1!)。这里用[]和()都可以,没有区别的。为了生成“只有0和1”的随机数组需要在rand之外再做处理。具体方法:1.按照一楼的写法就可以。首先生成随机数,然后判断是否>0.5,也就是0.5...

如何用matlab生成高斯分布随机数
可调用matlab内部函数,格式为u=randn(N)或者u=randn(M,N),前者为N维向量,后者为M*N矩阵,这种调用方式产生的随机序列均值为零,方差为1 例如:R = normrnd(Mu,Sigma,m,n)产生服从N(Mu,Sigma^2)分布的m行n列的随机数组R

matlab如何随机生成一组数的和为定值
下面进行实例演示和详细讲解:产生9个和为定值10的随机数。1、打开matlab软件,在命令窗口输入:A = rand(1,9),表示产生9个0~1之间的随机数,输出如下:2、继续输入:S = sum(A); B = A*10\/S ,表示将每个随机数变为到原来的10\/sum(A)倍,此时的数组B即为所求。输出结果如下:3、...

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

Matlab里面如何定义随机数组。
回答:二进制的四位数,从0000到1111,十进制是0~15 你是不是说定义十进制大小在0~15范围内的数组 的二进制形式? a = round(rand(10,1)*15) b = dec2bin(a)

matlab能够产生二进制伪随机序列,比如说产生一个4*3的0,1序列,然后保...
1.rand()用来产生0-1之间的随机数,2.fix()求取最小整数 若想产生一个包含m个整数且整数的范围在1-n之间的任意数,可通过以下命令: 1+fix(rand(1,m)*n)来产生 【方法二】:用RANDINT 在MATLAB中用于产生基质的均匀分布的随机整数。比如想产生10个元素的随机序列数组,使用语法:>> randint(1...

在MATLAB中如何随机产生一个由0和1两个数组成的长度为N的随机序列
A=randint(1,1000)randint(M,N)是产生由0和1两个数组成的M*N维矩阵 这样的随机数产生函数还有 randn(M,N)产生标准正太分布的随机数 rand(M,N)产生均匀分布随机数 你可以在MATLAB里用 help randint 这样的语句来看帮助文件,讲的很详细

matlab中怎样产生1×5的均匀数组
在matlab 中产生0-1上均匀分布的随机数组方法如下:方法1:如果 Y 是m*n的服从0~1均匀分布的随机矩阵:Y = rand(m,n);方法2:用统计工具箱,Y = unifrnd(0,1,m,n).