MATLAB与NumPy的对比
来源:互联网 发布:python黑帽子 百度云 编辑:程序博客网 时间:2024/05/18 20:08
文章源自《NumPy for MATLAB user》。
本文目录
- 算术运算
- 关系运算
- 逻辑运算
- 根运算与对数运算
- 去尾运算
- 数学常量
- 向量
- 序列
- 拼接矩阵
1. 算术运算
a**b a的b次方 rem(a,b) a % b
np.remainder(a,b)
np.fmod(a,b) 取余,模运算 factorial(a) np.math.factorial(a)
math.factorial(a) a的阶乘 math是未经优化的Python标准库,而np.math是经过优化的,速度相对更快。
2. 关系运算
3. 逻辑运算
and(a,b) np.logical_and(a,b)
a and b 多元素与运算 a | b
or(a,b) np.logical_or(a,b)
a or b 多元素或运算 xor(a,b) np.logical_xor(a,b) 异或运算 ~a
not(a) np.logical_not(a)
not a
!a 非运算 适用对象待更新 any(a) any(a) 存在非零元素就返回true len(np.nonzero(a)[0])>0 all(a) all(a) 所有元素不为零才返回true len(np.nonzero(a)[0])>0
4. 根运算与对数运算
np.sqrt(a) 平方根 MATLAB中一个数,默认是1*1的矩阵。所以MATLAB中对单元素和多元素处理是通用的。而Python中,数和数组在定义上是进行了区分的。此处自带的math标准库仅适用处理单一元素,NumPy中方法既适用于处理单元素(数),也适用于处理多元素(数组)。 log(a) math.log(a)
np.log(a) 自然对数,底为e 同上 log10(a) math.log10(a)
np.log10(a) 底数为10 同上 log2(a) math.log(a,2)
np.log(a,2) 底数为2 同上 exp(a) math.exp(a)
np.exp(a) 常数e的a次方 同上
5. 去尾运算
round(a) 四舍五入 见例1 ceil(a) math.ceil(a)
np.ceil(a) 向上(更大的数)取整,注意不是收尾法,因为要考虑负数 MATLAB和Python-math得到的是整数,Python得到的是处理了尾数的小数 floor(a) math.floor(a)
np.floor(a) 向下(更小的数)取整,注意不是去尾法,因为要考虑负数 同上 fix(a) np.fix(a) 向0取整 返回一个array
#例1-Python>>> a = 9.8>>> round(a)10>>> np.around(a)10.0
%例1-MATLAB>> a = 9.8>> round(a)ans = 10
6. 数学常量
np.pi pi = 3.141592653589793 exp(1) math.e
math.exp(1)
np.e
np.exp(1) e=2.718281828459045
e=2.718281828459045
e=2.718281828459045
e=2.7182818284590451
7. 向量
a.reshape(-1,1) 向量的转置
8. 序列
np.arange(1,11) MATLAB和Python1:[1,2,3,4,5,7,8,9,10]
Python2:array([1,2,3,4,5,6,7,8,9,10]) 1:3:10 np.arange(1,11,3) 1,4,7,10 10:-1:1 np.arange(10,0,-1) 10,9,8,7,6,5,4,3,2,1 10:-3:1 np.arange(10,0,-3) 10,7,4,1 linspace(1,10,7) np.linspace(1,10,7) matlab: [1.0, 2.5, 4.0, 5.5, 7.0, 8.5, 10.0]
Python: array([1.0, 2.5, 4.0, 5.5, 7.0, 8.5, 10.0]) 参数依次为:起点,终点,点的个数。此函数是将起点到终点之间的距离均匀分段。 a(:)=3 a.fill(3)
a[:]=3 将所有元素的值都赋为3
9. 拼接矩阵
例2-MATLAB
>> a=[1,2,3; 4,5,6]a = 1 2 3 4 5 6>> [a, a]ans = 1 2 3 1 2 3 4 5 6 4 5 6>> [a;a]ans = 1 2 3 4 5 6 1 2 3 4 5 6
例2-Python
>>> a=np.array([[1,2,3],[4,5,6]])>>> aarray([[1, 2, 3], [4, 5, 6]])>>> np.concatenate((a,a))array([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]])>>> np.concatenate((a,a), axis=0)array([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]])>>> np.concatenate((a,a), axis=1)array([[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]])
阅读全文
0 0
- MATLAB与NumPy的对比
- python中numpy与matlab的对应关系
- python中numpy与matlab的对应关系
- MATLAB与numpy之间的mat/npy格式常用数据转换
- MATLAB与numpy矩阵中元素位运算的实现区别
- numpy.flatten() 与 numpy.ravel()的区别
- matlab的数据类型 对比 OpenCV
- NumPy for MATLAB users--matlab和python的不同
- Python内置函数与numPy运算速度对比
- 原生python与numpy数组向量相加效率对比
- matlab与opencv双目相机标定对比
- gnumpy numpy 性能对比
- Python与NumPy的比较
- numpy.array 和 array以及list的效率对比
- Torch7学习(二) —— Torch与Matlab的语法对比
- Neural style之torch学习笔记2: Torch与Matlab的语法对比
- NumPy for Matlab Users
- NumPy for MATLAB users
- 【bzoj2821】作诗(Poetize)
- android--利用Service进行文件下载
- 仿小米天气15天趋势预报
- 漂亮的git log显示
- 树
- MATLAB与NumPy的对比
- 关于在Fragment中使用多组ViewPager+TabLayout出现的部分Fragment不显示问题
- 数字,字母,汉字的校验
- Python进阶-函数默认参数
- iOS 根据字符串计算label高度
- 大数据学习记录(day2)-Hadoop概述
- kotlin入门学习(一)
- 基于OpenAS2 V2.3.0的使用心得 一 环境搭建及启动
- MFC中在界面上添加背景图片的方法