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

生成1000个1和-1的随机序列
2024-12-17 15:56:06
推荐回答(5个)
回答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就是你要求的。
也许还有更简单的代码,比如使用逻辑运算等。

回答2:

可以这样写

%% 生成随机序列a
b = rand(1,1000)*2-1; %1000个[-1,1]之间的随机数
a = sign(b); % 取b每项的符号函数获得目标序列a
祝编程顺利

回答3:

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

回答4:

for
i=1:n
a(i)=rand[0,1]
end
很久没用matlab了
不知道这种写法对不对
你查查吧
产生随机数就是用rand函数
至于是用[]还是()我忘了,随机序列需要用数组来承接
也便于以后的运用

回答5:

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