python给矩阵赋值复数

给矩阵的某一个元素赋值复数时,出现了如下问题:

V = ones((new_rank,D.shape[1]),dtype=float64)

# 矩阵中显示的值:

# 真实要赋值的值:

# warning:

D:\python\DMD\DMD.py:60: ComplexWarning: Casting complex values to real discards the imaginary part

V[:,i] = dot(V[:,i],omega[i])

这个问题出现是因为dtype的赋值出现了问题,在numpy中,dtype 的 default value是float64, 这里已经溢出了,所以我们改用dtype = complex:

V = ones((new_rank,D.shape[1]),dtype=complex)

# 两个值一样了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180714G079QN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券