zoukankan      html  css  js  c++  java
  • python相关工具

     

    1.matlab与python之间的数据传递

     1 import scipy.io as sio
     2 import numpy as np
     3 
     4 ###下面是讲解python怎么读取.mat文件以及怎么处理得到的结果###
     5 load_fn = 'xxx.mat'
     6 load_data = sio.loadmat(load_fn)
     7 load_matrix = load_data['matrix'] #假设文件中存有字符变量是matrix,例如matlab中save(load_fn, 'matrix');当然可以保存多个save(load_fn, 'matrix_x', 'matrix_y', ...);
     8 load_matrix_row = load_matrix[0] #取了当时matlab中matrix的第一行,python中数组行排列
     9 
    10 ###下面是讲解python怎么保存.mat文件供matlab程序使用###
    11 save_fn = 'xxx.mat'
    12 save_array = np.array([1,2,3,4])
    13 sio.savemat(save_fn, {'array': save_array}) #和上面的一样,存在了array变量的第一行
    14 
    15 save_array_x = np.array([1,2,3,4])
    16 save_array_y = np.array([5,6,7,8])
    17 sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x}) #同理,只是

    2.python的绘图

     1 import matpylib.pyplot as plt
     2  
     3 a=np.arange(0,4,0.01).reshape(400,1)
     4 
     5 figure1=plt.figure()
     6 plt.plot(np.linspace(0,400,400),a,'b-',label='ckc')
     7 plt.title("ckc")
     8 plt.xlabel("c")
     9 plt.ylabel("x")
    10 plt.legend()
    11 plt.show()

    3.python中数组的创建操作

     1  1 #数组的初始化
     2  2 >>> import numpy as np
     3  3 >>> a = np.arange(15).reshape(3, 5)
     4  4 >>> a
     5  5 array([[ 0,  1,  2,  3,  4],
     6  6        [ 5,  6,  7,  8,  9],
     7  7        [10, 11, 12, 13, 14]])
     8  8 >>> a.shape
     9  9 (3, 5)
    10 10 >>> a.ndim
    11 11 2
    12 12 >>> a.dtype.name
    13 13 'int64'
    14 14 >>> a.itemsize
    15 15 8
    16 16 >>> a.size
    17 17 15
    18 18 >>> type(a)
    19 19 <type 'numpy.ndarray'>
    20 20 >>> b = np.array([6, 7, 8])
    21 21 >>> b
    22 22 array([6, 7, 8])
    23 23 >>> type(b)
    24 24 <type 'numpy.ndarray'>
    25 25 
    26 26 
    27 27 ones:全1 
    28 28 zeros:全0 
    29 29 empty:随机数,取决于内存情况
    30 30 
    31 31 >>> np.zeros( (3,4) )
    32 32 array([[ 0.,  0.,  0.,  0.],
    33 33        [ 0.,  0.,  0.,  0.],
    34 34        [ 0.,  0.,  0.,  0.]])
    35 35 >>> np.ones( (2,3,4), dtype=np.int16 )                # dtype can also be specified
    36 36 array([[[ 1, 1, 1, 1],
    37 37         [ 1, 1, 1, 1],
    38 38         [ 1, 1, 1, 1]],
    39 39        [[ 1, 1, 1, 1],
    40 40         [ 1, 1, 1, 1],
    41 41         [ 1, 1, 1, 1]]], dtype=int16)
    42 42 >>> np.empty( (2,3) )                                 # uninitialized, output may vary
    43 43 array([[  3.73603959e-262,   6.02658058e-154,   6.55490914e-260],
    44 44        [  5.30498948e-313,   3.14673309e-307,   1.00000000e+000]])
    45 45 
    46 46 #np.arange()的用法
    47 47 >>> np.arange( 10, 30, 5 )
    48 48 array([10, 15, 20, 25])
    49 49 >>> np.arange( 0, 2, 0.3 )                 # it accepts float arguments
    50 50 array([ 0. ,  0.3,  0.6,  0.9,  1.2,  1.5,  1.8])
    51 51 
    52 52 >>> np.linspace( 0, 2, 9 )                 # 9 numbers from 0 to 2
    53 53 array([ 0.  ,  0.25,  0.5 ,  0.75,  1.  ,  1.25,  1.5 ,  1.75,  2.  ])
    54 54 >>> x = np.linspace( 0, 2*pi, 100 )

    4.python从malab中获取.mat

    1 import scipy.io as sio#io相关模块,进行操作。
    2 curcwd=os.getcwd()
    3 
    4 mat_theory='noise_784.mat'
    5 data_theory=sio.loadmat(mat_theory)
    6 load_matrix=data_theory['noise_784']
    7 
    8 signal=load_matrix[0]#取第一行
    9 signal=np.reshape(signal,(784,1))

     5.python生成随机数

     1 #rand函数,产生0到1的随机数,参数是shape
     2 np.random.rand(3,4)
     3 >>生成0到1的随机数,shape为3行四列
     4 
     5 #randn函数,产生生标准正态分布,均值为0,方差为1,参数也是shape
     6 np.random.randn
     7 #randint函数,产生指定范围的随机整数,前两个参数表示范围,最后一个参数是size=(shape)
     8 np.random.randint(0,3,size=(3,4))
     9 
    10 #numpy.random能产生特定分布的随机数,如normal分布、uniform分布、poisson分布等 
    11 这些函数中前面几个参数是分布函数的参数,最后一个参数是shape 
    12 如正态分布normal就是均值和方差,uniform就是上下界,泊松分布就是
    13 
    14 np.random.normal(均值,方差,size=(3,4))
    15 
    16 np.random.uniform(2,3,size=(3,4))#前两个参数为范围均匀分布
    17 
    18 np.random.pession(2,size=())#泊松分布

     6.python文件读取注意事项

     1 file=open('abc.tex','w')>>注意'w'写一次,会擦除之前的
     2 >>要持续写入'a'
     3 file=open("abc.txt".'a')
     4 注意文件打开后必须
     5 file.close()>>否则写入操作会遇到问题
     6 
     7 ####获取每一行的元素放在数组中
     8 file = open('text_c.txt')
     9  
    10 lines = file.readlines()  
    11 aa=[]  
    12 for line in lines:  
    13     temp=line.replace('
    ','')  #将每一行的换行符去掉。
    14     aa.append(temp)  
  • 相关阅读:
    关于做项目
    不一样的Android studio
    你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
    关于Android studio
    面向对象建模所用图的简单总结
    浅谈Android 01
    用例图与类图的联系与区别
    面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。
    你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
    项目答辩后的感想
  • 原文地址:https://www.cnblogs.com/ChenKe-cheng/p/8982324.html
Copyright © 2011-2022 走看看