случайное комплексное число - PullRequest
1 голос
/ 05 сентября 2010

мне нужен алгоритм для генерации случайного комплексного числа, помогите, я знаю, как генерировать случайное число, но случайное комплексное число смущает меня

Ответы [ 3 ]

8 голосов
/ 05 сентября 2010

Я бы просто сгенерировал два случайных числа и использовал бы одно для вещественной части, а другое - для мнимой.

5 голосов
/ 05 сентября 2010
  1. Генерация 2 случайных чисел (x, y) (используйте встроенный класс rand / rnd / random из библиотек вашей среды), где x - действительная часть, а y - мнимая часть.

  2. Создание класса комплексных чисел (с конструктором, который принимает действительный и мнимый параметр)

  3. Используйте 2 случайных числа из шага 1 для создания комплексного числа, x + i y

0 голосов
/ 05 сентября 2010

1.Создайте 2 вектора чисел, которые говорят, что одно - real_vector, а другое - imaary_vector размера, скажем, MAX_SIZE генерируется случайным образом с разными начальными числами.

2. Случайное перемешивание чисел в векторах (real_vector + imaginary_vector) с использованием любого распределения, скажем, использование std :: random_shuffle (равномерное распределение).

3. Случайным образом сгенерируйте индекс и примените оператор по модулю для MAX_SIZE и выберите индекс из первого массива, который обеспечит действительную часть вашего случайного числа.

4.используйте шаг 3, чтобы получить мнимую часть вашего случайного числа.

5.Создайте комплексное число, используя число, полученное на шаге 3 и шаге 4, и сохраните его в контейнере.

6. перейдите к шагу 3 и проверьте, хотите ли вы более сложное число, если нет, то разбейте;

...