草庐IT

scipy-optimize

全部标签

python - 使用 scipy.signal.welch 找不到合适的能量

对于给定的离散时间信号x(t)带间距dt(等于1/fs,fs是采样率),能量为:E[x(t)]=sum(abs(x)**2.0)/fs然后我做x(t)的DFT:x_tf=np.fft.fftshift(np.fft.fft(x))/(fs*(2.0*np.pi)**0.5)并再次计算能量:E[x_tf]=sum(abs(x_tf)**2.0)*fs*2*np.pi/N(这里的因子fs*2*np.pi/N=脉动间距dk,fftfreq的文档提供了有关频域间距的更多详细信息),我有相同的能量:E[x(t)]=E[x_tf]但是...当我计算x(t)的功率谱密度时使用scipy.signal

python - 使用 numpy/scipy 进行 6 次曲线拟合

我有一个非常具体的要求,即使用6次多项式对非线性数据进行插值。我见过numpy/scipy例程(scipy.interpolate.InterpolatedUnivariateSpline),它只允许插值到5次。即使没有直接的函数可以做到这一点,有没有办法在Python中复制Excel的LINEST线性回归算法?LINEST允许6度曲线拟合,但我不想将Excel用于任何事情,因为此计算是更大的Python脚本的一部分。如有任何帮助,我们将不胜感激! 最佳答案 您可以使用scipy.optimize.curve_fit使您想要的任何功

python - SciPy 图像调整大小偏移 - 预期行为或错误?

我注意到scipy.misc.resize有一些奇怪的地方——它似乎使用除“最近”之外的任何插值方法都会导致结果图像中从(0,0)偏移大约1x1像素。这是一个将3x3图像转换为6x6的完全合成示例:>>>srcarray([[0.,0.,0.],[0.,64.,0.],[0.,0.,0.]])>>>imresize(src,(6,6),interp='bicubic',mode='F')array([[1.,0.,-5.,-8.,-5.,0.],[0.,0.,0.,0.,0.,0.],[-5.,0.,25.,40.,25.,0.],[-8.,0.,40.,64.,40.,0.],[-5

python - 线性代数的 scipy 和 numpy 的替代方案?

是否有用于python的numpy的良好(小而轻)替代品来进行线性代数?我只需要矩阵(乘法、加法)、逆矩阵、转置矩阵等。为什么?Iamtiredoftryingtoinstallnumpy/scipy-itissuchapitatogetittowork-itneverseemstoinstallcorrectly(esp.sinceIhavetwomachines,onelinuxandonewindows):nomatterwhatIdo:compileitorinstallfrompre-builtbinaries.Howhardisittomakea"normal"instal

python - 使用 pytables,哪个更有效 : scipy. 稀疏矩阵或 numpy 密集矩阵?

使用pytables时,不支持(据我所知)scipy.sparse矩阵格式,因此要存储矩阵我必须做一些转换,例如defstore_sparse_matrix(self):grp1=self.getFileHandle().createGroup(self.getGroup(),'M')self.getFileHandle().createArray(grp1,'data',M.tocsr().data)self.getFileHandle().createArray(grp1,'indptr',M.tocsr().indptr)self.getFileHandle().createAr

python - 如何并行化 scipy 稀疏矩阵乘法

我有一个scipy.sparse.csr_matrix格式的大稀疏矩阵X,我想利用并行性将其乘以一个numpy数组W。经过一些研究,我发现我需要在多处理中使用Array以避免在进程之间复制X和W(来自例如:HowtocombinePool.mapwithArray(sharedmemory)inPythonmultiprocessing?和IssharedreadonlydatacopiedtodifferentprocessesforPythonmultiprocessing?)。这是我最近的尝试importmultiprocessingimportnumpyimportscipy.

python - `Optimal` Tensorflow中用于矩阵分解的变量初始化和学习率

我正在Tensorflow中尝试一个非常简单的优化——矩阵分解问题。给定一个矩阵V(mXn),将其分解为W(mXr)和H(rXn)。我从here借用了基于梯度下降的基于tensorflow的矩阵分解实现.有关矩阵V的详细信息。在其原始形式中,条目的直方图如下所示:为了将条目置于[0,1]范围内,我执行了以下预处理。f(x)=f(x)-min(V)/(max(V)-min(V))归一化后,数据的直方图如下所示:我的问题是:鉴于数据的性质:介于0和1之间且大多数条目更接近0而不是1,W和H的最佳初始化是什么?如何根据不同的成本函数定义学习率:|A-WH|_F和|(A-WH)/A|?最小的工

python - 使用 scipy : expm, expm2 和 expm3 进行矩阵求幂

可以使用scipy.linalg库中的函数在python中执行矩阵求幂,即expm、expm2、expm3。expm使用Pade近似;expm2使用特征值分解方法,expm3使用默认项数为20的泰勒级数。在SciPy0.13.0发行说明中指出:Thematrixexponentialfunctionsscipy.linalg.expm2andscipy.linalg.expm3aredeprecated.Allusersshouldusethenumericallymorerobustscipy.linalg.expmfunctioninstead.虽然expm2和expm3自发布版本

python - 我使用什么 scipy 统计测试来比较样本均值?

假设样本量不相等,在以下情况下我用什么检验来比较样本均值(如果以下任何一项不正确,请更正):正态分布=True和方差同质性=Truescipy.stats.ttest_ind(sample_1,sample_2)正态分布=True和方差同质性=Falsescipy.stats.ttest_ind(sample_1,sample_2,equal_var=False)正态分布=假和方差同质性=真scipy.stats.mannwhitneyu(sample_1,sample_2)正态分布=假和方差同质性=假??? 最佳答案 快速回答:正

python - 频率响应 Scipy.signal

我正在学习数字信号处理以实现滤波器,并使用Python轻松实现测试想法。所以我刚开始使用scipy.signal库来查找不同滤波器的脉冲响应和频率响应。目前我正在阅读“数字信号、处理器和噪声”一书,作者是PaulA.Lynn(1992年)(我发现它是学习这些东西的绝佳资源)。在这本书中,他们有一个过滤器,其传递函数如下所示:我把分子和分母除以为了得到以下等式:然后我使用Scipy实现了这个:NumeratorZcoefs=[1,-1,1,-1]DenominatorZcoefs=[1,0.54048,-0.62519,-0.66354,0.60317,0.69341]FreqRespo