繁体   English   中英

在 python 中编写迭代时出现问题

Problem in writing an itegration in python

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有 2 列 arrays。 我还有一个使用 2 列的方程(积分)。 我需要使用两列值来获得整数值。 从某种意义上说,对于每个s都有c 添加第三列,这将是基于特定索引号的积分结果作为上限和下限。 例如,看看下面的值:

ID=50
s = np.arange(0,100)
c = np.arange(200,300)
lanr=-4.56
lani=-2.33

我需要解决的集成是c(s) * exp(lanr * s) * sin (lani * s) 现在我的问题是添加第三列与 0,s[ID] 之间的积分结果,这意味着我需要有我在s=0s=ID之间的问题中提到的带有细节的积分。 我在下面写了一些不起作用的东西:

from scipy.integrate import quad
import numpy as np
from sympy import *
def f(s):
    return c*(s) * exp(lanr * s) * sin (lani * s)
integ = []
for i in enumerate(s):
    g = c * np.exp(lanr * s) * np.sin(lani * s)

    integrate( f(s), s,0,ID)

1 个回复

也许以下内容与您正在寻找的内容相似?

一开始,我们可以尝试只象征性地工作。 s是基本变量。 c is a function of s , in this case writing c = s + 200 makes c such a function.

f=c*exp(lanr*s)*sin(lani*s)是更复杂的 function 的s print(f)给出-(s+200)*exp(-4.56*s)*sin(2.33*s)

现在,您似乎对f的积分感兴趣,因为s0到某个值。 我们称该值为t 然后,该积分将是t的 function g

from sympy import exp, sin, symbols, integrate, lambdify

s, t = symbols('s t')
lanr = -4.56
lani = -2.33
c = s + 200
f = c * exp(lanr * s) * sin (lani * s)
g = integrate(f, (s, 0, t))

如果只需要 101 个值,我们可以留在 sympy 中:

values = [g.subs(t, ti).evalf() for ti in range(0, 101)]

如果需要更多的数值计算, lambdify()可以将g从 sympy 转换为 numpy。 然后 numpy 也可以计算前 101 个值(这比 sympy 工作得快得多,但这仅在需要更多计算时才重要):

g_np = lambdify(t, g)

import  numpy as np

x = np.arange(0,100)
y = g_np(x)

在这种情况下,结果将是

array([  0.        , -17.66531171, -17.80584637, -17.80185932,
       -17.8019015 , -17.80190133, -17.80190133, -17.80190133,
       -17.80190133, -17.80190133, -17.80190133, -17.80190133,
       -17.80190133, -17.80190133, -17.80190133, -17.80190133,
       ...

这看起来很奇怪。 也许在某个地方有一些误解? 还是原来的公式有错误?

1 python中的迭代问题

[问题下面的代码] 我们的想法是扩展python的内置split()函数。 此函数需要两个字符串,一个需要拆分,第二个是在第一个字符串中省略和拆分的字符。 这段代码有效,但出于某种原因,这个输入,它不会迭代过去逗号后的任何内容。 换句话说,无论以这种格式输入,它都不会附加任何超出最终 ...

2 python中字典迭代的问题

我是 python 新手,所以也许我的问题很容易解决。 我有一个字典组织如下:my_dict = {'x': (1.1, 3.4), 'y': (4.3, 7.5), 'z': (7.3, 9.5)}。 我想将每个值减少相同的数字,所以这就是我想要做的: 使用此代码时,我收到此错误: 所以看 ...

4 Python中的Scrapy迭代问题

我在使用Scrapy时遇到了一些问题,我在使用newcoder教程,并且似乎陷入了迭代。 此处的教程 http://newcoder.io/scrape 我正在尝试刮擦: http : //freefuninaustin.com/ 我可以使用以下命令轻松获得所有标题:'title' ...

5 列出Python中的迭代问题

我正在使用Google Python类练习来解决此问题- 我的循环仅从0到3进行迭代,因此print i,s给我值直到'xzz'。请指出我错了的地方。 ...

2012-04-10 21:59:45 2 100   python
6 python,如何编写迭代 function

我正在查询数据库中的一些参数,这些参数依赖于一个名为count的属性! 如果第一个查询不返回任何内容, count可以增加。 这是一个示例代码 如果我运行方法search_from_sourcelist ,它没有返回任何东西,我想增加count ,然后再次进行查询。 这是对 sls 字典中的所有键 ...

7 编写在Python中接受单个项目或可迭代的方法

我有一个设计问题。 我想写一个接受单个对象或可迭代对象的方法。 例如,假设我有Dog类: 现在,假设我有一个使用Dog类的类,例如DogWalker: 在上面的示例中,我实现了walk和water两种方法。 water方法更具有Python风格,因为它使用Duck Typi ...

2012-09-26 14:07:02 2 359   python
8 用Python编写迭代器

在以下代码段中,我尝试返回一个函数,该函数将返回带有生成器的生成器(它们曾经被称为迭代器BTW吗?),并带有step参数。 事情是可行的,但是当我从长时间的禁欲中恢复到Python时,我的问题是这是否是在Python中使用迭代器来实现迭代器的一种好方法。 ...

9 在python中迭代编写XML节点

有多种读取 XML 的方法,包括一次性 (DOM) 和一次一位 (SAX)。 我使用 SAX 或 lxml 来迭代读取大型 XML 文件(例如 6.5GB压缩的维基百科转储)。 但是,在对该 XML 文件进行一些迭代处理(在 python 中使用 ElementTree)之后,我想将(新)XML ...

10 在函数 python 中迭代字典的问题

我有一个需要拍照并使用 N4 算法纠正它们的管道。 问题是,我的管道崩溃了,我认为现在的原因是存储图像的字典的迭代。 我做了一个测试管道,一切都运行良好,但对于主要管道它不起作用(文件夹中的组织也发生了变化,因此我尝试重新调整主要管道)。 这是获取图片并将它们存储在字典中的函数: 有了这个输 ...

2021-05-11 13:53:48 0 58   python
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM