Matlab与Python对应函数总结

Matlab与Python对应函数总结

小标题对应Matlab中常用的函数

1.find()函数

  1. Matlab 中含义:查找非零元素的索引和值
    k = find(X) 返回一个包含数组 X 中每个非零元素的线性索引的向量。
    如果 X 为向量,则 find 返回方向与 X 相同的向量;如果 X 为多维数组,则 find 返回由结果的线性索引组成的列向量
  2. Python中对应函数where():
import numpy as np
b = np.array([[0, 1, 2], [3, 4, 5]])
x, y = np.where(b > 3)       # 返回 b 中所有大于 3 的元素的位置索引
print(x, y)                  # 输出 [1 1 1] [1 2 3]
print(b[x, y])               # 输出 [4 5 3]

2.sub2ind()函数

  1. Matlab中含义:将多维数组的索引转换为一维数组的索引
  2. Python中的函数np.ravel_multi_index((row,col), dims=sz, order='F')
    multi_index=(row,col):一个元组,其中每个元素都是一个整数数组,它们表示要转换的多维数组中的索引;
    dims:一个整数元组,用于指定要转换的多维数组的形状;
    order:一个字符串,用于指定在返回的一维索引数组中要按行(‘C’)还是按列(‘F’)的顺序填充元素。
    例中,索引为(5,2),表示为10行10列(dims=[10,10])数据中的第6行第3列,按列填充就是第26个,一维索引就是25
import numpy as np
c = np.ravel_multi_index((5,2), dims=[10,10], order='F')
print(c)          # 25

3.size()函数

  1. Matlab 中含义:计算数组大小,如sz = size(A) 返回一个行向量,其元素是 A 的相应维度的长度,如果 A 是一个 3×4 矩阵,则 size(A) 返回向量 [3 4]。
  2. Python对应函数为shape():而python的size函数用于求得变量中所有的元素个数
import numpy as np
a = np.array([[1, 2], [3, 4], [5, 6]])
print(a.shape)   # 输出 (3, 2)

a = np.random.random((10,10))
print(a.size)         # 100

4.repmat()函数

  1. Matlab中含义: 指定方向重复数组
  2. Python中对应函数:tile(A,reps),A是要重复的数组,reps=(a,b),表示将A行重复2次,列重复3次
import numpy as np
c = [_ for _ in range(4)]
b = np.tile(c,(2,3))
print(b)

[[0 1 2 3 0 1 2 3 0 1 2 3]
 [0 1 2 3 0 1 2 3 0 1 2 3]]
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值