matlab均衡的算法有哪些,从Matlab到Python的算法均衡

我通过下面的小m文件在Matlab中绘制了一个三维网格:

[x,n] = meshgrid(0:0.1:20, 1:1:100);

mu = 0;

sigma = sqrt(2)./n;

f = normcdf(x,mu,sigma);

mesh(x,n,f);

我将通过使用Python及其相应的模块,通过下面的代码片段获得相同的结果:

import numpy as np

from scipy.integrate import quad

import matplotlib.pyplot as plt

sigma = 1

def integrand(x, n):

return (n/(2*sigma*np.sqrt(np.pi)))*np.exp(-(n**2*x**2)/(4*sigma**2))

tt = np.linspace(0, 20, 2000)

nn = np.linspace(1, 100, 100)

T = np.zeros([len(tt), len(nn)])

for i,t in enumerate(tt):

for j,n in enumerate(nn):

T[i, j], _ = quad(integrand, -np.inf, t, args=(n,))

x, y = np.mgrid[0:20:0.01, 1:101:1]

plt.pcolormesh(x, y, T)

plt.show()

但是Python的输出与Matlab的输出有很大的不同,事实上是不可接受的.

我害怕错误使用函数就像行空间,枚举或mgrid一样……

有人有任何想法吗?!…

PS.不幸的是,我无法在此线程中插入输出图……

最好

…………………………

编辑:我更改了线条空间和mgrid间隔并替换了plot_surface方法…现在输出为3d,具有合适的精度和平滑度…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值