草庐IT

scipy-optimize

全部标签

python - 如何使用 SciPy/NumPy 从图像中查找和删除白色 Blob ?

我有一系列图像作为我的原始数据,我正试图为发布做准备。这些图像有一系列随机的白色Blob,我想用周围一些像素的平均值代替。我无法发布图片,但下面的代码应该会生成一个PNG文件,它与我要纠正的问题大致相同:importnumpyasnpfromscipy.miscimportimsaverandom_array=np.random.random_sample((512,512))random_array[random_array虽然这应该会生成一个图像,该图像具有与我的原始数据中存在的Blob类似的分布,但我的图像没有强度均匀的Blob,并且一些Blob的大小超过一个像素(尽管它们都不超

python - 使用 scipy 稀疏矩阵求解方程组

这是对Howtosetupandsolvesimultaneousequationsinpython的跟进但我觉得任何答案都值得拥有自己的声誉点。对于固定整数n,我有一套2(n-1)联立方程如下。M(p)=1+((n-p-1)/n)*M(n-1)+(2/n)*N(p-1)+((p-1)/n)*M(p-1)N(p)=1+((n-p-1)/n)*M(n-1)+(p/n)*N(p-1)M(1)=1+((n-2)/n)*M(n-1)+(2/n)*N(0)N(0)=1+((n-1)/n)*M(n-1)M(p)为1定义.N(p)为0定义.还要注意p只是每个方程中的常数整数,因此整个系统是线性的。关

python - 如何获取 Scipy 稀疏矩阵(csr_matrix 和 csc_matrix)中每一行的总和和每一列的总和?

我有一个非常大的Scipy稀疏矩阵(CSR_MATRIX)。我只想知道如何计算每一行的值之和以及矩阵每一列的值之和。我有一个执行相同操作的代码,但它使用的是CSC_MATRIX。这两者在行列求和方面有什么不同吗?我想也许我可以获得其他人也可以使用的快速响应,或者我可以自己测试。fromscipy.sparseimport*fromscipyimport*row=array([0,0,1,2,2,2])col=array([0,2,2,0,1,2])data=array([1,2,3,4,5,6])csr_matrix((data,(row,col)),shape=(3,3)).tode

python - 在设定时间后停止 Scipy 最小化

我在Python3.4上使用Scipy模块中的最小化,特别是:resultats=minimize(margin_rate,iniprices,method='SLSQP',jac=margin_rate_deriv,bounds=pricebounds,options={'disp':True,'maxiter':2000},callback=iter_report_margin_rate)可以设置最大迭代次数(如上),但是有没有办法告诉minimize在给定的设置时间后停止搜索解决方案?我查看了最小化的一般选项以及SLSQP求解器的特定选项,但无法解决。谢谢

python - 使平面适合 3D 中的一组点 : scipy. optimize.minimize vs scipy.linalg.lstsq

给定一组3D点,一般问题是找到以下形式的平面方程的a,b,c系数:z=a*x+b*y+c使得生成的平面是该组点的最佳拟合。在thisSOanswer,函数scipy.optimize.minimize用于解决这个问题。它依赖于对系数的初始猜测,并最小化对每个点到平面表面的距离求和的误差函数。在thiscode(基于thisotherSOanswer)scipy.linalg.lstsq函数用于解决相同的问题(当限制为一阶多项式时)。它求解方程z=A*C中的C,其中A是x,y的串联点集合的坐标,z是集合的z坐标,C是a,b,c系数。与上面方法中的代码不同,这个方法似乎不需要对平面系数进行

python - 使用scipy fft和ifft数值求解常微分方程

我在时域中有一个ordinarydifferentialequation,如下所示:C*du/dt=-g*u+I其中I=A*t/tau*exp^(1-t/tau)在freq域中:u(w)=I(w)/(g*(1+C/g*j*w))j是复数sqrt(-1)因此,我可以通过使用fastFouriertransform(u(t))进入freq域,然后再使用fft来获取ifft。代码:t=np.linspace(0.,499.9,5000)I=q*t*np.exp(1-t/Tau_ca)/Tau_cau1=np.fft.ifft(np.fft.fft(I)/(G_l*(1.+1.j*(C_m/G

python - 如何将 pyinstaller 与隐藏导入一起用于 scipy.optimize leastsq

我的wxpython应用程序使用pyinstaller编译得很好,直到添加了一些基于fromscipy.optimizeimportleastsq语句的功能。我该如何解决这个问题? 最佳答案 第一次在cmd中运行命令pyinstallermyscript.py时,将创建一个myscript.spec文件(或者您可以手动创建)。该文件允许您指定隐藏的导入,我发现(通过漫长而乏味的试错过程)以下隐藏的导入可以解决问题:'scipy.special._ufuncs_cxx''scipy.linalg.cython_blas''scipy.

python - 以通用方式从 scipy.stats 获取 pdf

我正在Python2.7.10中使用scipy.stats运行一些拟合优度测试。fordistrNameindistrNameList:distr=getattr(distributions,distrName)param=distr.fit(sample)pdf=distr.pdf(???)我将什么传递到distr.pdf()以获取感兴趣样本点的list中最适合的pdf值,称为横坐标? 最佳答案 从文档中,.fit()method返回:shape,loc,scale:tupleoffloatsMLEsforanyshapestat

python - 当你想计算梯度和目标函数时,如何使用 scipy.optimize.minimize 函数?

scipy.optimize.minimze将obj和jac函数作为输入。我相信它会在需要时分别调用它们。但我们经常会遇到目标函数,其梯度计算与目标函数共享大量计算。所以理想情况下,我想同时计算obj和grad。但是这个库好像不是这样的?如果有scipy.optimize.minimze如果有的话,有什么办法处理? 最佳答案 你完全可以。只需使用jac=True:In[1]:importnumpyasnpIn[2]:fromscipy.optimizeimportminimizeIn[3]:deff_and_grad(x):...:

python - SciPy medfilt 错误结果

嗨,Python爱好者!我目前正在研究信号过滤,并决定使用SciPy。没什么特别的,只是日常工作的自动化。所以,这是代码fromscipy.signalimportmedfiltprint(medfilt([2,6,5,4,0,3,5,7,9,2,0,1],5))但问题是返回的序列计算错误SciPy:[2.4.4.4.4.4.5.5.5.2.1.0.]Me:[5.4.54.4.4.4.5.5.5.2.1.51.]似乎是,包的开发人员搞砸了一个细节。当孔径(SciPy中的内核)大于要分析的窗口时,还有另一种过滤规则。例如,kernel=5过滤后的[2,6,5]子序列的中位数为5而不是2,