newtons-method

    2热度

    1回答

    我尝试了非线性多项式函数,并且此代码运行良好。但对于这一个,我尝试了几种方法来解决使用反斜杠或bicg或lsqr的线性方程df0 * X = f0,也尝试了几个初始值,但结果从未收敛。 % Define the given function syms x1 x2 x3 x=[x1,x2,x3]; f(x)=[3*x1-cos(x2*x3)-1/2;x1^2+81*(x2+0.1)^2-s

    1热度

    1回答

    我正在使用mathematica中的牛顿迭代法寻找初始收敛点。牛顿函数现在的作品现在我想显示网格中的哪些初始点会产生收敛到-1的牛顿迭代,对于收敛到(1 +(3)^ 1/2)/ 2i的点也是如此: F(X)= X^3 + 1 newton[x0_] := ( x = x0; a1 = {}; b1 = {}; c1 = {}; counter = 0

    0热度

    1回答

    Scipy optimize.newton的初始步长硬编码为1e-4。以不同步长使用此功能的最佳方式是什么(理想情况下,指定为参数)? # https://github.com/scipy/scipy/blob/v0.19.0/scipy/optimize/zeros.py#L160 else: # Secant method p0 = x0 if x0 >= 0

    2热度

    2回答

    我想我的制表为牛顿Raphsons方法数据仅供整齐地排列类似二次方程。我遇到的困难是在数组中分配变量,将先前的xn1值分配给后续行中的xn值,并在数组中使用double值。 例如(在我的代码如下所示)我有变量,如(N,XN,FXN,dfxn,XN1)。我想分配这些变量的值,如下图所示。 在[图像],第一行中的XN + 1个值成为第二行中的XN值。我遇到了麻烦。我试图在for loop的末尾做xn

    1热度

    1回答

    前一题 如何确定通过为使用的代码下面的等式西格马循环迭代的最好方式。 import statistics as stats import warnings import matplotlib import matplotlib.pyplot as plt import numpy as np import pandas as pd import scipy import scipy.

    0热度

    1回答

    我想为给定的参数a,b,c找到一个简单函数的零点。我必须使用牛顿raphson方法。我编译代码时得到的问题是x变量未定义。 from scipy import optimize def Zeros(a,b,c,u): return optimize.newton(a*x**2+b*x+c, u, 2*ax + b,args=(a,b,c)) a,b,c是函数f的常数,u是起点。

    1热度

    1回答

    我对Matlab的知识非常有限,我试图做一个普通的牛顿Raphson函数,但每次出现错误说没有足够的输入参数。我的代码需要三个输入,f(函数),c0(初始猜测)和n(步数)。这是到目前为止我的代码: function [c] = Q3(f,c0,n) for i=1:n c(0)=c0; f=f(x); fp=diff(f,x); c(i)=c(i-1)-subs(f,x,c(i

    0热度

    1回答

    对不起,我的英语,这不是我的母语。我试图建立牛顿 - 拉夫逊算法数值分辨率的方程和非线性系统。 我有Windows 10和最大值14.12.1.This是我的算法: NR(f,a,tol,n):=block( define(k(x),diff(f(x),x)), for i:1 thru n do( b : a - f(a)/k(a), if abs(b-a)<tol then

    -1热度

    1回答

    假设x是每小时风速,我试图使用牛顿拉夫逊方法来拟合,如下所示。 K是我打算使用x值解决的无量纲参数。 def f(k)是实际方程,def d_f(k)是方程的导数,def f2(c)解决了第二个参数c。默认情况下,Scipy优化库需要使用Newton-Raphson或割线方法来查找以下输入。 scipy.optimize.newton(func, x0, fprime=None, args=(),

    1热度

    1回答

    我正在阅读Miller和Ranum关于使用Python的算法和数据结构的书。他们使用下面的示例: def squareroot(n): root = n/2 for k in range(20): root = (1/2)*(root + n/root) return root 我的问题是,可变“根”被一个for循环中重新分配,使得每次迭代“根”的表