2017-02-20 18 views
-1

У меня есть 2 вектора, которые я хочу генерировать случайным образом. 2 вектора являются входными и целевыми векторами ниже, которые будут переданы в качестве параметров алгоритму персептрона.MATLAB - Создание случайных векторов

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 и 1 или должны быть только -1, 0, 1? – eyllanesc

+0

будет только -1, 0, 1 –

+2

Вы можете показать, что вы пробовали. – eyllanesc

ответ

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 
+0

спасибо, кажется, работают –

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 

Вы можете получить это предупреждение, в зависимости от yuor версии Matlab:

«Предупреждение:.. Это устаревшая функция и может быть удален в будущем Пожалуйста, используйте RANDI вместо» в этом случае, используйте вместо этого функцию randi.

+0

* могут быть удалены в будущем *? Он был удален, и он был частью «Коммуникационной системы Toolbox». –