import numpy as np import math import sympy ''' python之Numpy 输入与输出设置 numpy.set_printoptions(precision=None,threshold=None, edgeitems=None,linewidth=None, suppress=None, nanstr=None, infstr=None,formatter=None, sign=None, floatmode=None, **kwarg) precision:设置浮点精度,控制输出的小数点个数,默认是8。 threshold:概略显示,超过该值则以“…”的形式来表示,默认是1000。 edgeitems 当省略数组内元素内容时要显示的元素数量。 linewidth:用于确定每行多少字符数后插入换行符,默认为75。 suppress:当suppress=True,表示小数不需要以科学计数法的形式输出,默认是False。 nanstr:浮点非数字的字符串表示形式,默认nan。 infstr:浮点无穷大的字符串表示形式,默认inf。 ''' def get_delay_M(): c = 3e8 lam0 = 1550e-9 w = 2 * np.pi * c /lam0 tau1 = 0 tau2 = 5 tau3 = 50 tau4 = 55 M = np.array([[np.exp(1j * w * tau1), 0, 0, 0], [0, np.exp(1j * w * tau2), 0, 0], [0, 0, np.exp(1j * w * tau3), 0], [0, 0, 0, np.exp(1j * w * tau4)]], dtype=complex) return M print(get_delay_M()) np.set_printoptions(edgeitems=3, precision = None, linewidth = 180) print(get_delay_M())
结果显示(可以发现没有np.set_printoptions设置,就出来了折行的现象):
PS C:\Users\lz\Desktop\python_test> python get_dealy.py run [[ 1. +0.j 0. +0.j 0. +0.j 0. +0.j ] [ 0. +0.j 0.00334652-0.9999944j 0. +0.j 0. +0.j ] [ 0. +0.j 0. +0.j 0.17852149-0.98393601j 0. +0.j ] [ 0. +0.j 0. +0.j 0. +0.j -0.98333308-0.18181325j]] [[ 1. +0.j 0. +0.j 0. +0.j 0. +0.j ] [ 0. +0.j 0.00334652-0.9999944j 0. +0.j 0. +0.j ] [ 0. +0.j 0. +0.j 0.17852149-0.98393601j 0. +0.j ] [ 0. +0.j 0. +0.j 0. +0.j -0.98333308-0.18181325j]] PS C:\Users\lz\Desktop\python_test>