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

生成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就是你要求的。
也许还有更简单的代码,比如使用逻辑运算等。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-08
可以这样写

%% 生成随机序列a
b = rand(1,1000)*2-1; %1000个[-1,1]之间的随机数
a = sign(b); % 取b每项的符号函数获得目标序列a
祝编程顺利
第2个回答  2009-01-15
...我来给个简单的实现吧
a=2*rand(1,1000)-1;
rand(1,1000)产生1000个0-1间的书2*rand(1,1000)产生1000个0-2间的数,再减去1就是-1到1的了
第3个回答  2020-04-24
for
i=1:n
a(i)=rand[0,1]
end
很久没用matlab了
不知道这种写法对不对
你查查吧
产生随机数就是用rand函数
至于是用[]还是()我忘了,随机序列需要用数组来承接
也便于以后的运用
第4个回答  2013-03-23
产生-1 和1 的随机序列
Math.Sin(Math.PI / 2 + Math.Ceiling(Rnd() - 0.5) * Math.PI)