zoukankan      html  css  js  c++  java
  • Python的科学计算包matplotlib setup

    • 回想起大学四年

        专业一直使用matlab,然而我却没在PC上装成功过,以前懒于思考这种数学工具的作用,直到最近,大学同学研究生要毕业了,几经交流,和自己阅读了一些机器学习的教材之后,发觉科学计算包和画图工具对于某些岗位来说非常的必要,因为使用数学建模而设计各种工业设计图的时候,需要对参数的调制画图观察效果。虽然我没有接触过实际场景,但在概率论的角度看,某些离散集合的数字特征(期望,方差)等,在图像上的表现,也可以借助此科学计算包辅助分析。

    • set up

        第一步

          到python官网下载一个3.6的包,不知道从3.多版本开始,python开始支持pip,使用pip安装依赖很方便。最好使用windows系统,因为这种科学计算包做数学分析的多,而不是做功能,不需要一定在linux上运行。python官网

        第二步

          安装、并设置环境变量。主要在path后加上python安装路径就行。图解请百度。

        第三步

          在确定cmd可以输入python之后,使用命令安装matplotlib

    python -m pip install matplotlib

          安装完成之后,写一个Demo,画两条三角函数线。

    #!/usr/bin/python
    #导入画图包
    from pylab import *
    
    #创建一个新的8 * 6点的图 设置分辨率为80
    figure(figsize=(8,6),dpi=80)
    
    #创建一个新的 1 * 1的子图
    subplot(1,1,1)
    
    X=np.linspace(-np.pi,np.pi,256,endpoint=True)
    C=np.cos(X)
    S=np.sin(X)
    #绘制余弦 用蓝色 连续 宽度1
    plot(X,C,color='blue',linewidth=1.0,linestyle='-')
    #绘制正弦 用绿色 连续 宽度1
    plot(X,S,color='green',linewidth=1.0,linestyle='-')
    
    #设置横轴上下限
    xlim(-4.0,4.0)
    #设置横轴记号
    xticks(np.linspace(-4,4,9,endpoint=True))
    #设置竖轴上下限
    ylim(-1.0,1.0)
    #设置横轴记号
    yticks(np.linspace(-1,1,5,endpoint=True))
    
    #显示
    show()

    • 绘制简单直线
    #!/usr/bin/python
    #常用数据类型练习 科学计算包
    from pylab import *
    x=(-3,-2,-1,0,1,2,3)
    xlim(-4.0,4.0)
    ylim(-8.0,8.0)
    plot(x,[x*2+1 for x in x])
    title("draw")
    xlabel("x")
    ylabel("y")
    
    show()

          加上一段抄来的代码,主要是美化界面的

    #!/usr/bin/python
    #常用数据类型练习 科学计算包
    from pylab import *
    x=(-3,-2,-1,0,1,2,3)
    ax = plt.subplot(111) 
    ax.spines['right'].set_color('none')  
    ax.spines['top'].set_color('none')  
    ax.xaxis.set_ticks_position('bottom')  
    ax.spines['bottom'].set_position(('data',0))  
    ax.yaxis.set_ticks_position('left')  
    ax.spines['left'].set_position(('data',0)) 
    xlim(-4.0,4.0)
    ylim(-8.0,8.0)
    
    plot(x,[x*2+1 for x in x])
    title("draw")
    xlabel("x")
    ylabel("y")
    
    show()

    • 矩阵运算

       创建一个基本的数组

    np.array()

          使用数组运算是对应位置操作,不属于线性代数的矩阵运算。

        矩阵matrix,使用如下创建

    np.mat()

        两个矩阵相加,则对应位置相加。

       列向量(1;2)乘以行向量(1,2)得到2*2的矩阵。

               矩阵转置使用.T

     

    •  线性空间,离散空间
    np.linspace()

        上述新建一个线性空间

    np.arange()

        上述新建一个离散空间

        利用线性空间绘制函数图

    #coding:utf-8
    #画连续空间
    from pylab import * 
    
    x=np.linspace(-10,10,256,endpoint=True)
    s=np.sin(x)
    plot(x,s)
    show()

        利用离散空间绘制柱状图

    #coding:utf-8
    #画离散空间散点图
    from pylab import *
    from scipy.stats import binom as B
    rv=B(10,0.3)#伯努利试验 X~B(n,p)
    x=np.arange(0,20,1)
    y=rv.pmf(x)
    #plt.scatter(x,y,color='red')#绘制散点图
    plt.bar(x,y,width=0.6,color='blue')
    plt.show()
            

        

    • 常用函数 

        

    #encoding:utf-8
    #常用函数
    from pylab import *
    
    x1=np.linspace(-2,2)
    y1=x1**2#二次函数 抛物线
    y2=np.exp(x1)#e为底指数函数
    y3=np.log(x1)#自然对数函数
    y4=np.sqrt(x1)#根号函数
    
    #plt.plot(x1,y1,color='red',linewidth=2)
    #plt.plot(x1,y2,color='blue',linewidth=2)
    #plt.plot(x1,y3,color='green',linewidth=2)
    #plt.plot(x1,y4,color='yellow',linewidth=2)
    
    #show()
    • 频率调制波
    from pylab import *
    time = np.arange(0,10,.01)
    x = np.sin(2 * np.pi * 1 * time) 
    x2 = np.sin(2 * np.pi * 100 * time) 
    x3 = np.sin(2 * np.pi * 20 * time) 
    x += x2 + x3 
    plot(time,x)
    show()

        后续学习持续更新....

  • 相关阅读:
    湘志恒善.NET 企业实训新学员必读手册
    周末电脑城有感硬件和软件价格的升降(实物图9.22更新)
    企业I期做项目之前的小例子
    商学院企业I班暑期作业 【2008年8月12日更新】
    项目公司机房升级
    android小应用帮美女更衣系列一(附源码)
    android小应用帮美女更衣系列二(附源码)
    @synthesize 和 @property
    VS2008下载地址和版本破解
    Android腾讯微薄客户端开发十三:提及篇(与我有关的微博)
  • 原文地址:https://www.cnblogs.com/chentingk/p/8251000.html
Copyright © 2011-2022 走看看