Python随机替换数组中的每个虚值

2024-04-20 06:16:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个

array([[ 0.01454911+0.j,  0.01392502+0.00095922j,
         0.00343284+0.00036535j, 0.00094982+0.0019255j ,
         0.00204887+0.0039264j , 0.00112154+0.00133549j,  0.00060697+0.j],
       [ 0.02179418+0.j,  0.01010125-0.00062646j,
         0.00086327+0.00495717j, 0.00204473-0.00584213j,
         0.00159394-0.00678094j, 0.00121372-0.0043044j , 0.00040639+0.j]])

我需要一个解决方案,让我有可能用一个随机值来代替虚部,这个随机值由:

numpy.random.vonmises(mu, kappa, size=size)

结果数组的形式必须与第一个数组的形式相同。你知道吗


Tags: numpysizerandom数组解决方案array形式kappa
3条回答

把数字循环一下,然后把它们设置成你喜欢的值。numpy.random.vonmises函数的参数mukappa需要定义,因为在下面的示例中它们是未定义的。你知道吗

import numpy as np

data = np.array([[ 0.01454911+0.j,  0.01392502+0.00095922j,
         0.00343284+0.00036535j, 0.00094982+0.0019255j ,
         0.00204887+0.0039264j , 0.00112154+0.00133549j,  0.00060697+0.j],
       [ 0.02179418+0.j,  0.01010125-0.00062646j,
         0.00086327+0.00495717j, 0.00204473-0.00584213j,
         0.00159394-0.00678094j, 0.00121372-0.0043044j , 0.00040639+0.j]])

def setRandomImag(c):
    c.imag = np.random.vonmises(mu, kappa, size=size)
    return c

data = [ setRandomImag(i) for i in data]
n_epochs = 2
n_freqs = 7
# form giving parameters for the array

data2 = np.zeros((n_epochs, n_freqs), dtype=complex)
for i in range(0,n_epochs):
     data2[i] = np.real(data[i]) + np.random.vonmises(mu, kappa) * complex(0,1)

它给了我的整个n_epoch相同的假想值。不是我想要的,但解决了我的问题。你知道吗

尝试使用以下方法:

  • 将数字存储到二维数组中:实部和虚部。你知道吗
  • 然后用随机选择的数字替换虚部。你知道吗

相关问题 更多 >