如何用matlab产生-1和1随机序列,急急急~~~

来源:百度知道 编辑:UC知道 时间:2024/07/03 12:57:08
生成1000个1和-1的随机序列

你题目的意思是随机生成1000个-1或1,而不是生成1000个[-1,1]之间的随机数吧?
用rand函数生成0~1之间的随机数序列,判断大于0.5的转化成1,小于等于的转换为-1即可。
代码:

num=1000;%总共1000个数
a=rand(1,num);生成0~1随机数序列
a(a>0.5)=1;
a(a<=0.5)=-1;

a就是你要求的。
也许还有更简单的代码,比如使用逻辑运算等。

...我来给个简单的实现吧
a=2*rand(1,1000)-1;
rand(1,1000)产生1000个0-1间的书2*rand(1,1000)产生1000个0-2间的数,再减去1就是-1到1的了

产生-1 和1 的随机序列
Math.Sin(Math.PI / 2 + Math.Ceiling(Rnd() - 0.5) * Math.PI)