MATLAB - 生成随机向量

时间:2017-02-20 04:57:09

标签: matlab vector random

我有2个矢量,我想随机生成。 2个矢量是输入,下面的目标矢量将作为参数传递给感知器算法。

input = [-1 -1 1 1; -1 1 1 -1]; 
target =[1 0 0 1];

向量将介于-1和1之间。我尝试使用How to generate random vector from specific user defined range?中的解决方案但无法使其工作。

2 个答案:

答案 0 :(得分:1)

使用randi:

input = -2 + randi(3, 2, 4)
output = -2 + randi(3, 1, 4)

输出:

input =

   1   1  -1   0
  -1  -1   1  -1

output =

   0  -1  -1   1

答案 1 :(得分:0)

只需使用randint函数生成随机整数值并指定所需的范围(在您的情况下为[-1,...,1])。

r=randint(1,5,[-1,1]); %Generate a 1*5 vector with values between -1 to 1

r =
   -1     1     1     0     1

您可能会收到此警告,具体取决于您的Matlab版本:

"警告:这是一个过时的功能,将来可能会被删除。请改用RANDI。 " 在这种情况下,请按照建议使用randi函数。