numpy中linspace用法
来源:互联网 发布:成都学软件开发 编辑:程序博客网 时间:2024/05/17 04:52
linspace的功能最初是从MATLAB中学来的,用此来创建等差数列。近期用Python的时候发现也有这个功能,提供相应功能的是numpy。关于MATLAB中的功能就不再进行赘述了,接下来把我可能用到的Python用法来简单做一个小节。
编写如下代码:
1 #!/usr/bin/python
2
3 import numpy as np
4
5 x1 = np.linspace(1,10)
6 x2 = np.linspace(1,10,10)
7 print(x1)
8 print(x2)
9 print("length of x1 is %d" % len(x1))
10 print("length of x2 is %d" % len(x2))
11
代码执行结果如下:
GreydeMac-mini:sport_365 greyzhang$ python linspace_demo.py
[ 1. 1.18367347 1.36734694 1.55102041 1.73469388
1.91836735 2.10204082 2.28571429 2.46938776 2.65306122
2.83673469 3.02040816 3.20408163 3.3877551 3.57142857
3.75510204 3.93877551 4.12244898 4.30612245 4.48979592
4.67346939 4.85714286 5.04081633 5.2244898 5.40816327
5.59183673 5.7755102 5.95918367 6.14285714 6.32653061
6.51020408 6.69387755 6.87755102 7.06122449 7.24489796
7.42857143 7.6122449 7.79591837 7.97959184 8.16326531
8.34693878 8.53061224 8.71428571 8.89795918 9.08163265
9.26530612 9.44897959 9.63265306 9.81632653 10. ]
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
length of x1 is 50
length of x2 is 10
GreydeMac-mini:sport_365 greyzhang$
从上面的:结果可以看出,在默认情况下,linspace函数可以生成元素为50的等间隔数列。而前两个参数分别是数列的开头与结尾。如果写入第三个参数,可以制定数列的元素个数。其实,这种方式相对来说也有一点欠缺规范,更好方式是指明第三个参数需要设定的属性。如此,代码需要修改如下:
1 #!/usr/bin/python
2
3 import numpy as np
4
5 x1 = np.linspace(1,10)
6 x2 = np.linspace(1,10,num = 10)
7 print(x1)
8 print(x2)
9 print("length of x1 is %d" % len(x1))
10 print("length of x2 is %d" % len(x2))
11
上面这段代码的运行结果与前面一致:
GreydeMac-mini:sport_365 greyzhang$ python linspace_demo.py
[ 1. 1.18367347 1.36734694 1.55102041 1.73469388
1.91836735 2.10204082 2.28571429 2.46938776 2.65306122
2.83673469 3.02040816 3.20408163 3.3877551 3.57142857
3.75510204 3.93877551 4.12244898 4.30612245 4.48979592
4.67346939 4.85714286 5.04081633 5.2244898 5.40816327
5.59183673 5.7755102 5.95918367 6.14285714 6.32653061
6.51020408 6.69387755 6.87755102 7.06122449 7.24489796
7.42857143 7.6122449 7.79591837 7.97959184 8.16326531
8.34693878 8.53061224 8.71428571 8.89795918 9.08163265
9.26530612 9.44897959 9.63265306 9.81632653 10. ]
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
length of x1 is 50
length of x2 is 10
GreydeMac-mini:sport_365 greyzhang$
其实,我个人使用的目前使用上面这些基本上就够了。不过,看了一下文档其实还有两个小功能值得注意一下。如果数列的元素个数指定,这两个参数属性也是可以选择性修改的。从文档中摘录如下:
endpoint : bool, optional
If True, stop is the last sample. Otherwise, it is not included. Default is True.
retstep : bool, optional
If True, return (samples, step), where step is the spacing between samples.
结束点如果现在为True,那么输入的第二个参数将会成为数列的最后一个元素,反之则不一定。而retstep会改变计算的输出,输出一个元组,而元组的两个元素分别是需要生成的数列和数列的步进差值。测试如下;
1 #!/usr/bin/python
2
3 import numpy as np
4
5 x1 = np.linspace(1,10)
6 x2 = np.linspace(1,10,num = 10,retstep = True)
7 print(x1)
8 print(x2)
9 print("length of x1 is %d" % len(x1))
10 print("length of x2 is %d" % len(x2))
11
运行结果如下:
GreydeMac-mini:sport_365 greyzhang$ python linspace_demo.py
[ 1. 1.18367347 1.36734694 1.55102041 1.73469388
1.91836735 2.10204082 2.28571429 2.46938776 2.65306122
2.83673469 3.02040816 3.20408163 3.3877551 3.57142857
3.75510204 3.93877551 4.12244898 4.30612245 4.48979592
4.67346939 4.85714286 5.04081633 5.2244898 5.40816327
5.59183673 5.7755102 5.95918367 6.14285714 6.32653061
6.51020408 6.69387755 6.87755102 7.06122449 7.24489796
7.42857143 7.6122449 7.79591837 7.97959184 8.16326531
8.34693878 8.53061224 8.71428571 8.89795918 9.08163265
9.26530612 9.44897959 9.63265306 9.81632653 10. ]
(array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]), 1.0)
length of x1 is 50
length of x2 is 2
GreydeMac-mini:sport_365 greyzhang$
从上面的结果中可以看到,设置了步进差值返回的x2,输出成了元组,而元组的第二个元素为步进差值1.0。
- numpy中linspace用法
- numpy中linspace用法
- numpy中linspace用法
- numpy.linspace()
- python中numpy模块中的linspace函数
- matlab中linspace函数用法
- python中linspace的用法
- numpy学习之linspace
- numpy.linspace使用详解
- numpy.linspace使用详解
- numpy.linspace使用详解...
- numpy.linspace使用详解
- numpy函数linspace() newaxis()
- numpy模块笔记之linspace
- numpy.linspace 生成等差数组
- 均分函数 numpy.arange() 和 numpy.linspace()
- numpy中dtype用法
- numpy之linspace函数:等差,行向量
- javaee(servlet)
- Kinect切水果
- php中empty、isset、is_null、!!、==null、==0区分
- 低版本cad如何打开高版本图纸?不用升级软件也可以搞定
- 第10章 NuGet
- numpy中linspace用法
- android 关于EditText的输入监听
- Windows7/8连接VPN失败解决方法
- MySQL源码阅读之半同步相关
- FF(首次适应)算法C,Java实现
- lscpu的Core(s) per socket
- HTML5的重要新特性
- 初识消息中间件
- R文本挖掘处理