我有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?中的解决方案但无法使其工作。
答案 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
函数。