首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >求和的导数

求和的导数
EN

Stack Overflow用户
提问于 2016-08-29 01:06:59
回答 3查看 2.1K关注 0票数 9

我会时不时地使用渐变,但我不太擅长它。目前,我一直在定义一个索引变量列表,即从n1到nmax,然后对其进行求和。然后我想可以求导数:

到目前为止,我尝试了以下几种方法:

代码语言:javascript
运行
复制
numSpecies = 10
n = IndexedBase('n')
i = symbols("i",cls=Idx)
nges = summation(n[i],[i,1,numSpecies])

但是,如果我尝试对一个变量求导,这将失败:

代码语言:javascript
运行
复制
diff(nges,n[5])

我也尽量避免使用IndexedBase

代码语言:javascript
运行
复制
numSpecies = 10
n = symbols('n0:%d'%numSpecies)
k = symbols('k',integer=True)
ntot = summation(n[k],[k,0,numSpecies])

然而,这里的求和已经失败了,因为混合了python元组和渐近求和。

如何执行indexedbase导数或某种变通方法?

EN

Stack Overflow用户

发布于 2016-08-29 01:30:46

我不知道为什么IndexedBase方法不起作用(我也想知道)。但是,您可以执行以下操作:

代码语言:javascript
运行
复制
import sympy as sp

numSpecies = 10
n = sp.symbols('n0:%d'%numSpecies)   # note that n equals the tuple (n0, n1, ..., n9)

ntot = sum(n)       # sum elements of n using the standard
                    # Python function for summing tuple elements
#ntot = sp.Add(*n)  # same result using Sympy function

sp.diff(ntot, n[5])
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39193771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档