Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python优化中向目标函数传递参数。
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我用<code>optimize.root</code>来寻找方程组的数值解。我需要将每个条件表示为一个单独的函数,还需要将参数传递给某些条件。但是,<code>optimize.root</code>似乎只有在目标函数本身内而不是在目标函数调用的单独函数中进行计算时,才能正确传递参数。在</p> <p>以下代码复制了该问题:</p> <pre><code># Conditions to be solved def fSSBj(inp): return (0.5*inp[1])/(1+inp[1])-0.9*inp[0] def fSSBJ(inp): return inp[0]-inp[2]*inp[1] # Objective function with conditions inserted directly def objFunc1(inp,pM): out = empty(2) out[0] = (0.5*inp[1])/(1+inp[1])-0.9*inp[0] out[1] = inp[0]-pM*inp[1] return out # Objective function that calls the functions with the conditions def objFunc2(inp,pM): out = empty(2) out[0] = fSSBj(inp+[pM]) out[1] = fSSBJ(inp+[pM]) return out </code></pre> <p>请注意,两个目标函数使用相同的输入;它们也给出相同的输出:</p> ^{pr2}$ <p>这两个命令都会返回</p> <pre><code>[-0.65 0.8 ] </code></pre> <p>但是,问题是,以下两个命令给出的结果截然不同:</p> <pre><code>Out1 = optimize.root(objFunc1, [1.0,1.0], args = (0.2), method='hybr') Out2 = optimize.root(objFunc2, [1.0,1.0], args = (0.2), method='hybr') </code></pre> <p>第一个很好;第二个给出一个错误消息(<code>Index is out of bounds</code>)。<code>optimize.root</code>如何将参数传递给函数会有问题吗?在</p> <p>这对我来说是个问题,因为(1)我有不同的条件集要解决;(2)我需要用一阶导数来构造雅可比函数。基于这两个原因,我使用SymPy的<code>lambdify</code>函数来生成函数及其导数,并将它们包含在目标函数中。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我假设<code>numpy</code>将您的输入列表转换为<code>ndarray</code>。在</p> <p>不幸的是</p> <pre><code>>> [1,1] + [0.2] [1, 1, 0.2] >> np.array([1,1]) + [0.2] array([ 1.2, 1.2]) </code></pre> <p>因此,您将得到一个<code>IndexError</code>。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
10 回答
如何添加表示整数的擦边字符串?
3 回答
如何添加要在Bokeh中使用的新font.ttf文件?
10 回答
如何添加要显示的矩阵XY轴编号和XY轴
4 回答
如何添加计数?
10 回答
如何添加计数器函数?
4 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
6 回答
如何添加计数器来跟踪while循环中的月份和年份?
2 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
2 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
2 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
10 回答
如何添加评论拉梅尔亚姆
3 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
9 回答
如何添加谷歌地点自动完成到Flask?
1 回答
如何添加超时、python discord bot
7 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
3 回答
如何添加跟随游戏的敌人精灵
4 回答
如何添加路径以便python可以找到程序?
3 回答
如何添加身份验证/安全性以使用happybase访问HBase?
9 回答