C++ 随机复数

C++ 随机复数,c++,random,complex-numbers,C++,Random,Complex Numbers,我需要生成随机复数的算法,请帮助我知道如何生成随机数,但随机复数让我困惑 生成2个随机数x,y使用环境库中的内置rand/rnd/random类,其中x是实部,y是虚部 使用构造函数创建一个复数类,该构造函数接受实参数和虚参数 使用步骤1中的2个随机数创建一个复数x+i y 生成2个随机数x,y使用环境库中的内置rand/rnd/random类,其中x是实部,y是虚部 使用构造函数创建一个复数类,该构造函数接受实参数和虚参数 使用步骤1中的2个随机数创建一个复数x+i y 我只需生成两个随机数,

我需要生成随机复数的算法,请帮助我知道如何生成随机数,但随机复数让我困惑

生成2个随机数x,y使用环境库中的内置rand/rnd/random类,其中x是实部,y是虚部

使用构造函数创建一个复数类,该构造函数接受实参数和虚参数

使用步骤1中的2个随机数创建一个复数x+i y

生成2个随机数x,y使用环境库中的内置rand/rnd/random类,其中x是实部,y是虚部

使用构造函数创建一个复数类,该构造函数接受实参数和虚参数

使用步骤1中的2个随机数创建一个复数x+i y


我只需生成两个随机数,一个用于实部,一个用于虚部。

我只需生成两个随机数,一个用于实部,一个用于虚部。

1.生成2个数字向量,即一个是实部向量,另一个是虚部向量,即要生成的最大尺寸随机选择不同的种子

2.使用任意分布对向量real_vector+virtual_vector中的数字进行随机洗牌让我们假设使用std::Random_shuffleuform分布

3.随机生成一个索引,并对MAX_SIZE应用模运算,然后从第一个数组中选择索引,该数组将提供ur随机数的实部

4.使用步骤3获得随机数的虚部

5.使用步骤3和步骤4中获得的数字创建一个复数,并将其存储在容器中


6.转到步骤3,检查是否需要更复杂的数字;如果没有,则中断

1.生成2个数字向量,一个是实向量,另一个是虚向量,大小为MAX,用不同的种子随机生成

2.使用任意分布对向量real_vector+virtual_vector中的数字进行随机洗牌让我们假设使用std::Random_shuffleuform分布

3.随机生成一个索引,并对MAX_SIZE应用模运算,然后从第一个数组中选择索引,该数组将提供ur随机数的实部

4.使用步骤3获得随机数的虚部

5.使用步骤3和步骤4中获得的数字创建一个复数,并将其存储在容器中


6.转到步骤3,检查是否需要更复杂的数字;如果没有,则中断

你希望随机数来自什么分布?@Joey:你所说的区间是什么意思?复数没有自然的顺序,所以不像实数那样有区间。@Joey:模和参数也是如此,但是如果你用它们做简单的事情,你就不会得到均匀分布,即使这是你想要的。关键是,如果不知道所需的分布,就不可能知道最好的方法是什么。@Charles:问题可能是,如果有人问如何创建伪随机复数,他也不会知道该分布。但是你是对的,我没有想到r和φ会导致不同的结果。你希望随机数来自什么分布?@Joey:你说的区间是什么意思?复数没有自然的顺序,所以不像实数那样有区间。@Joey:模和参数也是如此,但是如果你用它们做简单的事情,你就不会得到均匀分布,即使这是你想要的。关键是,如果不知道所需的分布,就不可能知道最好的方法是什么。@Charles:问题可能是,如果有人问如何创建伪随机复数,他也不会知道该分布。但你是对的,我没有想到r和φ会导致不同的结果。