Построить вектор с суммой всех элементов, равной 1 - PullRequest
0 голосов
/ 11 декабря 2011

Я ищу быстрый способ построить вектор размером n.

Сумма всех его элементов должна быть 1.

Например, если n = 5, вектор должен быть v = [0,1 0,3 0,03 0,07 0,5].

Есть идеи, как это сделать?

Ответы [ 2 ]

4 голосов
/ 11 декабря 2011

Одна простая возможность -

v=rand(5,1); v=v/sum(v)
0 голосов
/ 11 декабря 2011

Просто создайте вектор и нормализуйте его:

v = v ./ sum(v);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...