2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Генерация случайных величин с фиксированной суммой
Сообщение14.11.2012, 20:00 


16/11/10
51
Нужно сгенерировать $n$ неотрицательных случайных величин, чтобы их сумма равнялась заданному числу $s$. Предполагается, что каждая величина должна удовлетворять ограничению $a_i\leq x_i\leq b_i$ и кончик вектора, компоненты которого равны этим величинам, равномерно распределен на поверхности полученного многогранника.

Здесь (http://www.mathworks.com/matlabcentral/ ... hange/9700) есть решение для $a\leq x_i\leq b$.

На его основании можно сгенерировать числа c ограничениями вида $x_i\geq b_i$. Например, если задача задана так $x_1\geq0.1; x_2\geq 0.2; x_3\geq 0.3; x_1+x_2+x_3=1$, то ее можно решить, сгенерив три числа при ограничениях $0\leq x_i'\leq 0.4, x_1'+x_2'+x_3'=0.4$, а затем приняв $x_1=x_1'+0.1, x_2=x_2'+0.2, x_3=x_3'+0.3.$

Ну вот как сделать, когда у каждой переменной есть еще и верхняя граница, никак не соображу :-( . Может быть Вы догадаетесь.

 Профиль  
                  
 
 Re: Генерация случайных величин с фиксированной суммой
Сообщение14.11.2012, 20:09 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Чем описанная там задача отличается от Вашей? Там у каждой переменной есть нижняя граница. И верхняя есть. И условие фиксированной суммы.

 Профиль  
                  
 
 Re: Генерация случайных величин с фиксированной суммой
Сообщение14.11.2012, 20:13 


16/11/10
51
В моей задаче границы свои для каждой переменной: там $a\leq x_i\leq b$, а у меня $a_i\leq x_i\leq b_i$.

 Профиль  
                  
 
 Re: Генерация случайных величин с фиксированной суммой
Сообщение14.11.2012, 20:26 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Ну дак кто мешает полученную величину потом линейно преобр
Чёрт. Вот чёрт, а.

-- Ср, 2012-11-14, 21:27 --

Грубый метод состоит в том, чтобы генерить вектор, у которого все иксы находятся в наиболее широких границах, и если он не подходит - тупо выкидывать.

 Профиль  
                  
 
 Re: Генерация случайных величин с фиксированной суммой
Сообщение14.11.2012, 20:40 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
pierrevanstulov в сообщении #644669 писал(а):
В моей задаче границы свои для каждой переменной: там $a\leq x_i\leq b$, а у меня $a_i\leq x_i\leq b_i$.

Значит, отличие только в том, что усложнится поиск координат вершин "треугольников" (симплексов), на которые разбивается область.

 Профиль  
                  
 
 Re: Генерация случайных величин с фиксированной суммой
Сообщение14.11.2012, 20:45 


16/11/10
51
О грубом методе я уже думал, но если интервал варьирования некоторой величины достаточно мал, то он будет давать очень много "холостых" ходов. А мне генерить точки нужно очень быстро (в районе $1000$ точек не более чем за секунду). Хотяяяяяя. Надо потестить.

Главное удивительно, что для нижних границ (пусть они и разные) решение получается так легко, а вот если будет задано $x_i\leq b_i$ (пусть даже и без нижних), ничего не удается придумать.

-- Ср ноя 14, 2012 20:56:26 --

TOTAL в сообщении #644687 писал(а):
pierrevanstulov в сообщении #644669 писал(а):
В моей задаче границы свои для каждой переменной: там $a\leq x_i\leq b$, а у меня $a_i\leq x_i\leq b_i$.

Значит, отличие только в том, что усложнится поиск координат вершин "треугольников" (симплексов), на которые разбивается область.


Просто очень не хочется пилить метод внутри. Неужели не получится обойтись внешними "костылями"? :-(

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group