【python – 如何使用scipy.optimize.linprog获取整数解?】教程文章相关的互联网学习教程文章

用python中的scipy求解有界非线性最小化【代码】

试图用一个变量解决一个简单的非线性最小化问题.from scipy.optimize import minimize import mathalpha = 0.05 waiting = 50 mean_period = 50 neighborhood_size = 5def my_func(w):return -(2/(w+1) + alpha*math.floor(waiting/mean_period))*(1-(2/(w+1) + alpha*math.floor(waiting/mean_period)))**(neighborhood_size-1)print minimize(my_func, mean_period, bounds=(2,200))这给了我ValueError: length of x0 != length ...

python – 从scipy.optimize.curve_fit获取与参数估计值相关的标准错误【代码】

我正在使用scipy.optimize.curve_fit来为我的某些数据拟合曲线.在大多数情况下,曲线看起来非常合适.出于某种原因,当我将其打印出来时,pcov = inf. 我真正需要的是计算与我拟合的参数相关的误差,并且即使它确实给出了协方差矩阵,也不确定如何做到这一点. 适合的模型是:def intensity(x,R_out,R_in,K_in,K_out,a,b,c):K_in,K_out = abs(0.0),abs(K_out)if x<=R_in:return 2*R_out*(K_out*np.sqrt(1-x**2/R_out**2)-(K_out-0.0)*np.s...

python – 使用scipy.interpolate.interpn插入N维数组【代码】

假设我的数据取决于4个变量:a,b,c和d.我想插值返回一个对应于a和b的单个值的二维数组,以及一个c和d的值数组.但是,阵列大小不必相同.具体而言,我的数据来自晶体管模拟.电流取决于4个变量.我想绘制一个参数变化.参数上的点数远小于水平轴的点数.import numpy as np from scipy.interpolate import interpn arr = np.random.random((4,4,4,4)) x1 = np.array([0, 1, 2, 3]) x2 = np.array([0, 10, 20, 30]) x3 = np.array([0, 10, 20...

在Python中有效地找到scipy / numpy中非零的间隔?【代码】

假设我有一个python列表或一个python一维数组(以numpy表示).假设有一个连续的元素段,我怎样才能找到这个列表或数组中非零段的起点和终点坐标(即索引)?例如,a = [0, 0, 0, 0, 1, 2, 3, 4]nonzero_coords(a)应该返回[4,7].对于:b = [1, 2, 3, 4, 0, 0]nonzero_coords(b)应返回[0,2]. 谢谢.解决方法:假设有一个连续的非零元素……x = nonzero(a)[0] result = [x[0], x[-1]]

一种获取pythons scipy模块的coo_matrix中非零值计数的方法?【代码】

我想过使用coo_matrix.nonzero(),它返回一个包含两个数组的元组,这个数组包含给定矩阵中非零指数的索引.文档中的示例指出:>>> from scipy.sparse import coo_matrix >>> A = coo_matrix([[1,2,0],[0,0,3],[4,0,5]]) >>> nonzero_entrys = A.nonzero() (array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2]))然后我会做像len(nonzero_entrys [0])这样的东西,但这似乎是一种转移.我在文档中忽略了一种更好的方法吗?解决方法:你可以使用...

python – 使用`scipy.stats`时无法导入`multivariate_normal`【代码】

我试图用scipy生成多变量分布的pdf值.这是我脚本中的import语句:from scipy.stats import multivariate_normal但它抛出一个ImportError:ImportError: cannot import name multivariate_normal其他一切正常.解决方法:如果您使用的是版本0.13.3,则可以使用pip install scipy –upgrade在命令行进行升级

python – 用SciPy数字解决ODE问题【代码】

我坚持将scipy.integrate.odeint应用于以下非常简单的ODE:y(t)/dt = y(t) + t^2 and y(0) = 0由SciPy计算的解决方案不正确(很可能b / c我在这里混淆了一些东西) – 特别是解决方案不符合初始条件.import numpy as np import scipy.integrate import matplotlib.pyplot as plt import math# the definition of the ODE equation def f(y,t): return [t**2 + y[0]]# computing the solution ts = np.linspace(-3,3,1000) res = scip...

python – 在Scipy稀疏矩阵中寻址范围【代码】

我有一个大矩阵,目前在numpy,我想移植到scipy稀疏矩阵,因为保存numpy(2000,2000)矩阵的文本表示超过100mb. (1)似乎scipy中存在稀疏矩阵的过多[例如,lil_matrix或dok_matrix-哪一个对于简单的递增是最佳的,并且有效地保存到数据库中? (2)我希望能够像这样解决矩阵中的范围:>> import numpy as np >> a = np.zeros((1000,1000)) >> a[3:5,4:7] += 1对于稀疏矩阵来说,这似乎是不可能的?解决方法:我不能说哪个最有效存储.这将取...

python – 在scipy中使用tracedot执行一系列外部产品【代码】

要在Python(scipy / numpy)中的两个向量之间执行外部产品,您可以使用外部函数,或者您可以简单地使用这样的点:In [76]: dot(rand(2,1), rand(1,2)) Out[76]: array([[ 0.43427387, 0.5700558 ],[ 0.19121408, 0.2509999 ]])现在的问题是,假设我有一个向量列表(或两个列表……),我想计算所有外部产品,创建一个方形矩阵列表.我怎么这么容易?我相信蒂莫多能够做到这一点,但是怎么样?解决方法:计算外部产品的第三种(也是最容易概括...

python – 在SciPy中,csr_matrices的花式索引【代码】

我是Python的新手,所以如果这是一个基本问题,请提前原谅我,但我已经四处寻找并且没有找到令人满意的答案. 我正在尝试使用NumPy和SciPy执行以下操作:I,J = x[:,0], x[:1] # x is a two column array of (r,c) pairs V = ones(len(I)) G = sparse.coo_matrix((V,(I,J))) # G's dimensions are 1032570x1032570 G = G + transpose(G) r,c = G.nonzero() G[r,c] = 1 ... NotImplementedError: Fancy indexing in assig...

相当于python:sc中的scipy.optimize()?

具体来说,我正在寻找像scipy.optimize.fmin_l_bfgs_b这样的优化器函数.有人能帮帮我吗?还是提供指针? 谢谢!解决方法:dlib C库中有许多优化器,包括L-BFGS.它是免费的,优化工具只是标题,因此无需安装或配置.还有一个相关的example program,向您展示如何使用L-BFGS优化器.

python – 使用scipy.stats.hypergeom从SciPy的甲板上绘制卡片【代码】

我无法理解SciPy的scipy.stats.hypergeom函数的the documentation.在我的程序中,我考虑各种卡片组并尝试找出各种抽奖的概率. hypergeom类似乎有这个,但它的文档假设我没有一堆术语知识.谷歌搜索引导我去维基百科和沃尔夫勒姆MathWorld,两者都假设如果你问这种事情,你已经阅读了当时的Principia Mathematica的所有内容,只需要一点点复习 – 所以他们实际上并没有帮助.因为这个问题是“如何将这个特定的代码块应用于我的问题?”我问...

python – 使用scipy.signal.spectral.lombscargle进行句点发现【代码】

新的Scipy v0.11提供了一个用于光谱分析的软件包.不幸的是,文档很少,并且没有很多可用的示例. 作为一个婴儿的例子,我试图做一个正弦波的周期发现.不幸的是,它预测的时间为1而不是预期的2pi.有任何想法吗?# imports the numerical array and scientific computing packages import numpy as np import scipy as sp from scipy.signal import spectral# generates 100 evenly spaced points between 1 and 1000 time = np.linspace(...

在稀疏lil_matrix(Scipy / Python)中查找最大值及其索引【代码】

在Scipy稀疏lil_matrix对象中找到最大值及其对应的行和列索引的最佳方法是什么?我可以loop through the nonzero entries using itertools.izip,但有什么更好的吗?我觉得我在这里遗漏了一些明显的东西……解决方法:您可以转换为COO格式,然后使用data,row和col属性. 例如,假设LIL矩阵是x.这是获取最大值及其行和列的一种方法:In [41]: x Out[41]: <1000x1000 sparse matrix of type '<type 'numpy.float64'>'with 1999 stored el...

python – 获取scipy的gmres迭代方法的迭代次数【代码】

我想知道scipy.sparse.linalg.gmres需要多少次迭代才能收敛,但似乎没有任何争论.有一个maxiter参数,可以设置终止方法,但没有任何显示它正在采取的迭代次数.有人可以帮我弄这个吗?解决方法:为了说明@ cel的评论,你可以实现一个简单的计数器类,如下所示:class gmres_counter(object):def __init__(self, disp=True):self._disp = dispself.niter = 0def __call__(self, rk=None):self.niter += 1if self._disp:print('iter %3i\trk...