如何将其他参数传递给scipy.optimize.newton_krylov?

时间:2016-03-07 21:11:08

标签: python numpy scipy nonlinear-optimization

所以我试图找到满足等式的"k"

F(k,u,v,w) = 0

和u,v和w是额外的参数。我一直在尝试使用newton_krylov(http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.newton_krylov.html)来解决它,它将基于对 k 的猜测以数字方式解决系统,但似乎没有包含其他参数的方法。

我的麻烦是我需要传递 F 其他参数,但似乎没有办法将它们传递给 F 。有没有办法传递我不知道的东西?或者我可以做些什么来使其发挥作用?

此外,如果对于这种情况有更合适的功能,也会很酷。

1 个答案:

答案 0 :(得分:3)

您可以将F包裹在lambda函数中的newton_krylov传递给newton_krylov(lambda k:F(k,1,2,3), ... ) ,如下所示:

import QtQuick 2.3
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1

import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4

Window {
    visible: true

    width:1000; height: 500

    ListModel {
        id: mymodel

        ListElement {
            title: "my_name.mp4"
            check: true
            img: "1450465860217s.jpg" //your own img url here
            filesize: "1.5GB"
           lenght: "20:00"
           lastMod: "12/02/2014"
        }

        ListElement {
            title: "my_nam2.mp4"
            check: false
            img: "1450465860217s.jpg" //your own img url here
            filesize: "400MB"
            lenght: "8:00"
            lastMod: "01/01/2015"
        }

        ListElement {
            title: "my_nam2.mp4"
            check: false
            img: "1450465860217s.jpg" //your own img url here
            filesize: "1.5GB"
            lenght: "1:20:00"
            lastMod: "12/13/2016"
       }
    }

TableView {
    width: 1000; height: 500

    anchors.centerIn: parent
    TableViewColumn {
        role: "title"
        title: "Title"
        width: 200
    }

    TableViewColumn {
        role: "filesize"
        title: "FileSize"
    }

    TableViewColumn {
        role: "lenght"
        title: "Lenght"

    }

    TableViewColumn {
        role: "lastMod"
        title: "Last Modified"
    }


    model: mymodel

    rowDelegate: Rectangle{
        color: "white"
        height: 40
    }

    itemDelegate: RowLayout {
        width: parent == null? 0 : parent.width

        Loader{
            sourceComponent: styleData.column == 0 ?
                             things : null
        }

        Component {
            id: things

            RowLayout{
                height: 30
                CheckBox{
                    id: itemCheckBox
                    checked:  mymodel.get(styleData.row).check
                }

                Image{
                    Layout.preferredWidth: 80
                    Layout.preferredHeight: 40
                    source: mymodel.get(styleData.row).img
                }
            }
        }


        Text {
            //anchors.centerIn: parent
            text: styleData.value
        }
    }
}
}