ГПСЧ + гауссов профиль интенсивности
От: soton  
Дата: 01.11.08 18:19
Оценка:
Друзья, нужна помощь.
Необходимо написать ГПСЧ на Делфи (Паскале), который бы генерировал числа в соответствии с гаусовым профилем интенсивности лазерного луча.
Грубо говоря, нам необходимо генерировать случайные числа интенсивности излучения, в соответствии с профилем луча.
Буду благодарен за любую помощь, совет, etc. н

P.S. так понимаю, что надо использовать rndm (в Паскале), но отчего-то не нашел этой функции... А в Делфи вообще идей нет...
Re: ГПСЧ + гауссов профиль интенсивности
От: andy1618 Россия  
Дата: 01.11.08 18:39
Оценка:
Здравствуйте, soton, Вы писали:

S>Друзья, нужна помощь.

S>Необходимо написать ГПСЧ на Делфи (Паскале), который бы генерировал числа в соответствии с гаусовым профилем интенсивности лазерного луча.
S>Грубо говоря, нам необходимо генерировать случайные числа интенсивности излучения, в соответствии с профилем луча.
S>Буду благодарен за любую помощь, совет, etc. н

S>P.S. так понимаю, что надо использовать rndm (в Паскале), но отчего-то не нашел этой функции... А в Делфи вообще идей нет...


Мда
Ключевые слова: random, Преобразование Бокса — Мюллера
Re[2]: ГПСЧ + гауссов профиль интенсивности
От: soton  
Дата: 01.11.08 20:21
Оценка:
Здравствуйте, andy1618, Вы писали:

A>Мда

A>Ключевые слова: random, Преобразование Бокса — Мюллера

Благодарю, смотрел до того, как написать сюда, но это мне не помогло... Не знаю (не понимаю) как связать этот метод с гауссовым профилем луча...
Re: ГПСЧ + гауссов профиль интенсивности
От: Dimonka Верблюд  
Дата: 01.11.08 23:54
Оценка:
Здравствуйте, soton, Вы писали:

S>Друзья, нужна помощь.

S>Необходимо написать ГПСЧ на Делфи (Паскале), который бы генерировал числа в соответствии с гаусовым профилем интенсивности лазерного луча.
S>Грубо говоря, нам необходимо генерировать случайные числа интенсивности излучения, в соответствии с профилем луча.
S>Буду благодарен за любую помощь, совет, etc. н

Если не помнишь как называется функция случайных чисел, то это Random.

По поводу генерирования случайных чисел с заданным нестандартным распределением, то алгоритм примерно следующий:
Строишь из профиля (это я так понимаю что-то типа таблицы вероятности) кумулятивную таблицу вероятности значений интенсивности.
что-то вроде этого
y
1,0 |                        xx
    |                    xxxx
    |              xxxxxx
0.5 |          xxxx
    |     xxxxx
    |  xxx
0.0 | x
    ----------------------------
    1mHz    2mHz    3mHz   4mHz

Единицы измерения по оси Х от балды — я в лазерах ноль ))), по оси кумулятивная Y вероятность появления каждой интенсивности.

Процесс генерации: генерируешь случайное число, проецируешь его на ось Y и находишь соответсвующую этому числу интенсивность по оси Х из кумулятивной таблицы (значения можно интерполировать).

Получилось сумбурно конечно. Если лучше объяснишь, получишь более понятный ответ ))
Re: ГПСЧ + гауссов профиль интенсивности
От: wallaby  
Дата: 02.11.08 05:00
Оценка: 4 (1)
Здравствуйте, soton, Вы писали:

S>Необходимо написать ГПСЧ на Делфи (Паскале), который бы генерировал числа в соответствии с гаусовым профилем интенсивности лазерного луча.


Первый раз слышу про профиль интенсивности лазерного луча, но помимо общеизвестной функции Random в модуле Math есть функция для генерации случайных чисел с гауссовым распределением:

{ RandG produces random numbers with Gaussian distribution about the mean.
  Useful for simulating data with sampling errors. }
function RandG(Mean, StdDev: Extended): Extended;
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true
Re[3]: ГПСЧ + гауссов профиль интенсивности
От: andy1618 Россия  
Дата: 02.11.08 20:17
Оценка:
Здравствуйте, soton, Вы писали:

S>Здравствуйте, andy1618, Вы писали:


A>>Мда

A>>Ключевые слова: random, Преобразование Бокса — Мюллера

S>Благодарю, смотрел до того, как написать сюда, но это мне не помогло... Не знаю (не понимаю) как связать этот метод с гауссовым профилем луча...


Я не специались по лазерным лучам, но, насколько я понял, речь идёт о том, что распределение интенсивности луча соответствует двумерному нормальному распределению:

(картинка отсюда)

Если это так, то дальше всё просто — в Паскале/Дельфи есть генератор ПСЧ с равномерным распределением (random). Генерируем пару таких "случайных" чисел, и с помощью формул из метода Бокса-Мюллера перегоняем их в пару чисел, дающих нам двумерное нормальное распределение (с сигмой =1 и мю = 0). Если нужны другие сигма и мю — в статье про Б-М внизу есть элементарная формула.
Re[2]: ГПСЧ + гауссов профиль интенсивности
От: andy1618 Россия  
Дата: 02.11.08 20:18
Оценка:
W>
W>{ RandG produces random numbers with Gaussian distribution about the mean.
W>  Useful for simulating data with sampling errors. }
W>function RandG(Mean, StdDev: Extended): Extended;
W>


Да, функция хороша. Но вот как её правильно прикрутить к двумерному случаю — вопрос интересный.
Re[4]: ГПСЧ + гауссов профиль интенсивности
От: soton  
Дата: 04.11.08 18:10
Оценка:
Здравствуйте, andy1618, Вы писали:

A>Здравствуйте, soton, Вы писали:


S>>Здравствуйте, andy1618, Вы писали:


A>>>Мда

A>>>Ключевые слова: random, Преобразование Бокса — Мюллера

S>>Благодарю, смотрел до того, как написать сюда, но это мне не помогло... Не знаю (не понимаю) как связать этот метод с гауссовым профилем луча...


A>Я не специались по лазерным лучам, но, насколько я понял, речь идёт о том, что распределение интенсивности луча соответствует двумерному нормальному распределению:

A>
A>(картинка отсюда)

A>Если это так, то дальше всё просто — в Паскале/Дельфи есть генератор ПСЧ с равномерным распределением (random). Генерируем пару таких "случайных" чисел, и с помощью формул из метода Бокса-Мюллера перегоняем их в пару чисел, дающих нам двумерное нормальное распределение (с сигмой =1 и мю = 0). Если нужны другие сигма и мю — в статье про Б-М внизу есть элементарная формула.


Попробую дать еще пояснения. Мне необходимо, чтобы подпрограмма или функция давала значение угла, под которым вылетает луч из источника излучения и соответствующая этому углу интенсивность. Для этого необходим ГПСЧ, генерирующий в соответствии с гаусовым профилем интенсивности.
Посмотрел преобразование Бокса-Мюллера и функцию randg в делфи, но ума не приложу как это все реализовать...
Re[3]: ГПСЧ + гауссов профиль интенсивности
От: MBo  
Дата: 05.11.08 02:47
Оценка:
Здравствуйте, andy1618, Вы писали:

A> Но вот как её правильно прикрутить к двумерному случаю — вопрос интересный.


Гауссово распределение сепарабельно, т.е. по обеим осям раздельно можно посчитать и перемножить, либо свести в одну формулу
Re[5]: ГПСЧ + гауссов профиль интенсивности
От: Dimonka Верблюд  
Дата: 05.11.08 09:16
Оценка:
Здравствуйте, soton, Вы писали:

S>Попробую дать еще пояснения. Мне необходимо, чтобы подпрограмма или функция давала значение угла, под которым вылетает луч из источника излучения и соответствующая этому углу интенсивность. Для этого необходим ГПСЧ, генерирующий в соответствии с гаусовым профилем интенсивности.

S>Посмотрел преобразование Бокса-Мюллера и функцию randg в делфи, но ума не приложу как это все реализовать...

Что из себя представляет профиль интенсивности?
Re[5]: ГПСЧ + гауссов профиль интенсивности
От: andy1618 Россия  
Дата: 06.11.08 11:36
Оценка:
A>>Если это так, то дальше всё просто — в Паскале/Дельфи есть генератор ПСЧ с равномерным распределением (random). Генерируем пару таких "случайных" чисел, и с помощью формул из метода Бокса-Мюллера перегоняем их в пару чисел, дающих нам двумерное нормальное распределение (с сигмой =1 и мю = 0). Если нужны другие сигма и мю — в статье про Б-М внизу есть элементарная формула.

S>Попробую дать еще пояснения. Мне необходимо, чтобы подпрограмма или функция давала значение угла, под которым вылетает луч из источника излучения и соответствующая этому углу интенсивность. Для этого необходим ГПСЧ, генерирующий в соответствии с гаусовым профилем интенсивности.

S>Посмотрел преобразование Бокса-Мюллера и функцию randg в делфи, но ума не приложу как это все реализовать...

Гм, вот теперь, после уточнений (про угол и интенсивность), стало действительно непонятно, что именно требуется
Нужен пример. И дельфи/паскаль, похоже, тут ни при чём
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.