使用了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()