matlab转python笔记

使用了python的numpy、scipy、math、matplotlib库

1 生成全0矩阵/全1矩阵
matlab:zeros(n行, m列);
python: np.zeros((n行,m列))
matlab:ones(n行, m列);
python: np.ones((n行,m列))

2 生成一个有终点和起点的固定步长的排列
matlab:200:200: 1000;
python: np.arange(200,1001,200) #注:生成的排列中不包含终点

3 得到数组/列表的长度
matlab:length(N);
python: len(N)

4 取余
matlab:mod(j,2)==1;
python: j%2 ==1

5 for循环
matlab:for t=0:1:10
python: for t in range(0,10,1):

6 取数组中第一个元素
matlab:a(1);
python: a[0]

7 生成正态分布随机数/矩阵
matlab:normrnd(均值,sqrt(方差),[N行,M列])
python: np.random.normal(均值,math.sqrt(方差),(N行,M列))

8 按概率生成0,1比特序列
matlab:a=randsrc(n,1,[0,1;p0,p1])
python: np.random.choice([0, 1],size=n,p=[p0, p1])

9 矩阵操作,同样列数的A、B矩阵的行合并,纵向拼接
matlab:[A;B]
python: np.row_stack((A,B))

10 矩阵操作,同样行数的C、D矩阵的列合并,横拼接
matlab:[C D]或[C,D]
python: np.column_stack(C,D)

11 根据条件找到矩阵A中的某一行
matlab:A(条件,:)=[];
python: np.where(条件)

12 判决两个浮点数相等
matlab:abs(a-b)<eps;%或者是一个很小的小数,但是小数位不要超过17位
python: abs(a-b)<0.00000001

13 计算函数在区间[x0,x1]的定积分
matlab:
fx= @(x)x^2;
result =integral(fx,x0,x1);
python:
#函数
fx=lambda x:x**2
#定积分,第一个代表积分值、第二个是精度
x0和x1代表积分区间
result,err =scipy.integrate.quad(fx,x0,x1)
matlab:
python: result,err =scipy.integrate.quad(fx,x0,x1)

14 互补误差函数
matlab:erfc(x)
python: math.erfc(x)

15 绘图:
matlab:plot(x,y)
python:
import matplotlib.pyplot as plt
plt.plot(x,y)
plt.show()

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值