美文网首页
67. Python基础-数学库(2)

67. Python基础-数学库(2)

作者: 十里江城 | 来源:发表于2019-11-14 08:41 被阅读0次

    例子:奇异值分解SVD

    读取图片,选取前若干值进行展示。任何一个图片都可以看做一个矩阵

    安装解释器、Python包、IDE

    各种包地址
    IDE:

    Numpy和matplotlib.pyplot的使用

    1. 矩阵基础
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.random.rand(10, 2) # 10*2行列
    print('x:', x)
    print('x[2]: ', x[2]) # 第三行
    print('x[2, :]: ', x[2, :]) # 第三行
    print('x[[3, 6, 1]]: ', x[[3, 6, 1]]) # 第四行
    print('x[:, 0]: ', x[:, 0]) # 第1列
    print('x[:, 1]: ', x[:, 1]) # 第2列
    
    image.png
    1. matplotlib绘制随机点
    import numpy as np
    import matplotlib.pyplot as plt
    
    data = np.random.rand(1000, 2)  # 随机产生1000行1列的数组
    print('data: ', data)
    x = data[:, 0] # 第一列数据
    y = data[:, 1] # 第二列数据
    
    plt.plot(x, y, 'go', markersize = 1)
    plt.show()
    
    image.png
    1. 绘制红色圆形
    import numpy as np
    import matplotlib.pyplot as plt
    
    data = 2 * np.random.rand(10000, 2) - 1
    print('data: ', data)
    x = data[:, 0] # 第一列数据
    y = data[:, 1] # 第二列数据
    
    # 绘制红色的点圆(由于做表面比例不同,故显示成椭圆)
    idx = x ** 2 + y ** 2 < 1
    plt.plot(x[idx], y[idx], 'ro', markersize = 1)
    plt.show()
    
    image.png
    1. 绘制蓝色空心圆
    import numpy as np
    import matplotlib.pyplot as plt
    
    data = 2 * np.random.rand(10000, 2) - 1
    print('data: ', data)
    x = data[:, 0] # 第一列数据
    y = data[:, 1] # 第二列数据
    
    idx = x ** 2 + y ** 2 < 1
    hole = x ** 2 + y ** 2 < 0.25 
    idx = np.logical_and(idx, ~hole) # 逻辑与,在大圆内不再小圆内
    
    plt.plot(x[idx], y[idx], 'bo', markersize = 1)
    plt.show()
    
    image.png

    相关文章

      网友评论

          本文标题:67. Python基础-数学库(2)

          本文链接:https://www.haomeiwen.com/subject/voulictx.html