栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

matlab 转 python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

matlab 转 python

关于matlab转python代码的基础规则, 参见: NumPy for MATLAB users
这里列出我在matlab转python代码过程中, 涉及到的其他matlab函数, 这些函数在"NumPy for MATLAB users"中可能不存在.
如果你觉得这篇博客,对你有帮助, 欢迎收藏订阅!

matlabpythonnote
d = bi2de(b,p,flg)d = bi2de(b,p,left_msb)flg='left-msb'时, left_msb=True;
flg='right-msb'时, left_msb=False.
参见: bi2de
CC = bwconncomp(BW,conn)CC = bwconncomp(BW,conn)参见: matlab函数(bwconncomp)的python实现
Y = circshift(A, K)Y = circshift(A, K)参见: circshift
w = conv(u,v,shape)w = numpy.convolve(u,v, shape)
[f,x] = ecdf(y)f, x = ecdf(y)参见: ecdf
b = fir1(n, Wn)b = scipy.signal.firwin(n+1, Wn)
y = pskmod(x,M,ini_phase)y = pskmod(x,M,ini_phase)参见: pskmod
bi2de
import numpy as np
def bi2de(b: np.ndarray, p: int = 2, left_msb = False):
    if left_msb == True:
        b = b[::-1]
    if b.ndim == 1:
        d = 0
        for i, bi in enumerate(b):
            d += bi * (p**i)
    else:
        d = np.zeros(b.shape[-1])
        for i, bi in enumerate(b):
            d += bi * (p**i)
    return d
circshift
import numpy as np
def circshift(A, K):
    return np.hstack((A[-K:], A[:-K]))
ecdf

与matlab中的ecdf功能不同, matlab中deecdf返回的f(累计概率)为线性递增, 这里的ecdf返回的x为线性递增.

import numpy as np
from statsmodels.distributions.empirical_distribution import ECDF
def ecdf(y):
	ecdf0 = ECDF(y)
	x = np.linspace(np.min(y), np.max(y), len(y)+1)
	f = ecdf0(x)
	return f, x
pskmod
import numpy as np
def pskmod(x: np.ndarray, M: int, ini_phase: float = 0):
    theta = 2*np.pi*x/M
    y = np.exp(1j*(theta + ini_phase))
    return y
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号