小编use*_*619的帖子

数学表达式作为函数的参数?

我非常喜欢初学者,所以请保持温柔.

我正在修改一些Python练习,我的代码看起来像这样.

def newton(x0, Tol):
    def F(x):
        return (x**3)+898
    def dF(x):
        return 3*x**2
    x=[x0]
    for n in range(400):
        x.append(x[n]-(F(x[n]))/dF(x[n]))
        if abs((x[n+1])-(x[n]))<Tol:
            conv='Converge'
            print n
            break
    if abs((x[n+1])-(x[n]))>=Tol:
        conv='No converge'
    return x[n+1], conv
Run Code Online (Sandbox Code Playgroud)

我定义了一个函数F(x)及其派生函数,dF(x)并将值添加到列表中x.

任务是检查系列是否收敛,我认为我已经成功了.

但我的问题是关于函数(x**3)+898和函数的3*x**2参数Newton.

我想象它会是这样的

def newton(f, df, x0, Tol):
    def F(x):
        return f
    def dF(x):
        return df
    *calculations*
    return x[n+1], conv
Run Code Online (Sandbox Code Playgroud)

你会打电话给它

newton((x**3)+898, 3*x**2, x0=something, Tol=something)
Run Code Online (Sandbox Code Playgroud)

这样的功能F(x),并dF(x)在此过程中被定义.

但是,x没有定义,所以它不起作用.

请注意,在练习中需要将f和df作为'newton'的参数.

你会怎么解决这个问题? …

python math function

4
推荐指数
2
解决办法
1059
查看次数

下三角矩阵的前向代换。如何?

不确定这是否是问的正确地方,但这里是。

有谁知道以下代码如何求解 x Lx=y,其中 L 和 y 分别是给定的矩阵和向量?

如果你知道,你能不能把它分解一下,并将每一步与你如何用笔和纸解决它进行比较?

def forward(L, y):
    x = []
    for i in range(len(y)):
        x.append(y[i])
        for j in range(i):
            x[i]=x[i]-(L[i, j]*x[j])
        x[i] = x[i]/L[i, i]
    return x
Run Code Online (Sandbox Code Playgroud)

python math matrix linear-algebra

1
推荐指数
1
解决办法
9733
查看次数

标签 统计

math ×2

python ×2

function ×1

linear-algebra ×1

matrix ×1