精华内容
下载资源
问答
  • python迭代法求立方根
    2020-11-21 03:36:18

    计算一个数字的立方根,不使用库函数

    详细描述:

    接口说明

    原型:

    public static double getCubeRoot(double input)

    输入:double 待求解参数

    返回值:double 输入参数的立方根

    输入描述:

    待求解参数 double类型

    输出描述:

    输入参数的立方根 也是double类型

    输入例子:216

    输出例子:6.0

    import java.util.Scanner;

    //普通方法

    public class Main {

    public static void main(String[] args) {

    Scanner cin =new Scanner(System.in);

    while(cin.hasNext()) {

    double input = cin.nextDouble();

    double min =0;

    double max = input;

    while(max - min >0.00001) {

    double temp = (min + max) /2;

    if(temp*temp*temp > input) {

    max = temp;

    }else {

    min = temp;

    }

    }

    min*=10;

    double small = min - (int)min;

    if(small >=0.5) {

    min++;

    }

    int n = (int)min;

    min=(double)n/10;

    System.out.println(min);

    }

    }

    }

    //牛顿迭代#include

    //#include

    #define jingdu 0.0001

    double newton_diedai( double a){

    double xn,xn_1;

    xn=1;

    xn_1 = xn-((xn*xn*xn-a)/(3*xn*xn));

    while (xn-xn_1>jingdu || xn-xn_1<-jingdu){

    xn = xn_1;

    xn_1 = xn-((xn*xn*xn-a)/(3*xn*xn));

    }

    return xn_1;

    }

    int main( void ){

    double a;

    scanf("%lf" , &a);

    a = newton_diedai(a);

    printf("%.1f" , a);

    // system("pause" );

    return 0;

    }

    更多相关内容
  • 一、什么是牛顿迭代法? 百度百科上说是这样 https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fr=aladdin 推导过程如下: 一般牛顿迭代法的图名都叫做Newton-Ra...

    要求如下图所示,编程环境为python 3.7.3 windows 32版本

    一、什么是牛顿迭代法?

    百度百科上说是这样

    https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fr=aladdin

     

    推导过程如下:

    一般牛顿迭代法的图名都叫做Newton-Raphson。也就是牛顿-拉弗森法

    二、使用牛顿迭代法的例程

    使用牛顿迭代法时,需要预先估计迭代的起点X0,可以看一下下面的例子。

    具体代码如下:

    执行的结果是

    三、使用牛顿迭代法求立方根

    仿照上例,求一个实数的立方根比如X³=a,那么可以将该式子改为X³-a=0

    运行结果如下:9的立方根,以及8的立方根都计算出来了。

    代码如下:

    import math

    a = float(input("请输入一个实数"))

     

    def f(x):

        return x**3-a

     

    def f_derivative(x):

        return 3*x**2

     

    ep=0.00000001

    xk=1

    xk1=1

     

    while True:

        xk1=xk

        xk=xk1-f(xk1)/f_derivative(xk1)

        print(xk1,xk)

        if math.fabs(xk-xk1)<ep:

            break

    print(xk)

    注意:def的函数,从冒号“:”后的下一行,一定要缩进!一定要缩进!因为python是缩进敏感语言,一定要缩进!

    展开全文
  • 时间限制:1 秒 内存限制:32 兆 特殊判题:否 ...立方根的逼近迭代方程是 y(n+...给定的x经过n次迭代立方根的值。 输入: 输入有多组数据。 每组一行,输入x n。 输出: 迭代n次后的立方根

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:5065

    解决:2325

    题目描述:

    立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值。

    输入:

    输入有多组数据。
    每组一行,输入x n。

    输出:

    迭代n次后的立方根,double精度,保留小数点后面六位。

    样例输入:
    3000000 28
    样例输出:
    144.224957
    典型的递归
    #include<cstdio>
    #include<iostream>
    using namespace std;
    int x;
    double dg(int n){
    	if(n==0)return x;
    	return 1.0*dg(n-1)*2/3+1.0*x/(3*dg(n-1)*dg(n-1)); 
    }
    int main(){
    	int n;
    	while(scanf("%d %d",&x,&n)!=EOF){
    		printf("%.6lf\n",dg(n));
    	}
    	return 0;
    } 


    展开全文
  • Python求某数的立方根-牛顿迭代法

    千次阅读 2020-06-20 19:29:13
    首先了解什么是牛顿迭代法。 太多公式符号了,这个编辑器打出来能累死人。直接上手写图。

    首先了解什么是牛顿迭代法。
    太多公式符号了,这个编辑器打出来能累死人。直接上手写图。
    在这里插入图片描述
    以上推导出牛顿迭代式,可以看出该迭代式是一种近似根求方程的好方法。
    Python代码实现求某数的立方根

    n=float(input())
    last=n
    new=last-((last**3-n)/(3*last**2))
    while abs(new-last)>0.000001:#精度要求
        last=new
        new=last-((last**3-n)/(3*last**2))
    print(format(new,'.1f'))
    
    展开全文
  • 不使用库函数//详细描述://接口说明//原型://public static double getCubeRoot(double input)//输入:double 待求解参数//返回值:double 输入参数的立方根牛顿迭代法原理:对于a的立方根,可以设f(x)=x^3-a,...
  • python 二分法和牛顿 求立方根

    千次阅读 2020-03-23 00:48:35
    用牛顿迭代法解非线性方程,是把非线性方程 线性化的一种近似方法。把 在点 的某邻域内展开成泰勒级数: 取其线性部分(即泰勒展开的前两项),并令其等于0,即:。以此作为非线性方程 的近似方程,若 ,则其...
  • https://www.matongxue.com/madocs/205.html关于牛顿迭代法,除开理论部分,核心公式其实就一个。 题目描述•计算一个数字的立方根,不使用库函数详细描述:•接口说明原型:publicstaticdoublegetCubeRoot...
  • 不动点迭代法求方程的根:是迭代法解方程的根当中经典的方法。 将求解f(x) = 0的问题变成x = h(x)这样的问题。 转变的方程很简单,一般是移项,平方,开根号什么的。 难点: 问题难点就得到的对应不动点迭代方程...
  • 求解立方根

    千次阅读 2021-01-14 10:00:22
    99牛顿迭代法。设f(x)=x3-y, f(x)=0时的解x,即为y的立方根。根据牛顿迭代思想,xn+1=xn-f(xn)/f'(xn)即x=x-(x3-y)/(3*x2)=(2*x+y/x/x)/3;#include inline double abs(double x){return (x>0?x:-x);}double ...
  • } /** * ニュートン立方根を近似する * @param[in] a 実数 * @param[in] x 解に近そうな値 * @return a の立方根 */ double cbrt_newton(double a, double x) { double e; do { e = (x * x * x - a) / (3.0 * x...
  • 简单推导假设f(x)是关于X的函数: 出f(x)的一阶导,即斜率: 简化等式得到: 然后利用得到的最终式进行迭代运算直至到一个比较精确的满意值,为什么可以用迭代法呢?理由是中值定理(Intermediate Value Theorem):...
  • 牛顿迭代法原理 利用一级泰勒级数展开式 public double mySqrt(int m, int n) { if (m == 0) return 0; double x0 = 1; double pre; while (true) {
  • 立方根 a 的立方根 \(x=\sqrt[3]{a}\),相当于 \(f(x)=x^3-a=0\) 的根。迭代步骤:(实际上就是不停地作切线,直到切点和所的根非常接近)先选取一个迭代的初始值\(x_0\)可以出\(f(x)\)在\(x_0\)处的切线...
  • python|牛顿迭代

    2021-11-21 21:18:49
    牛顿 迭代法 (Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是 牛顿 在17世纪提出的一种在 实数 域和 复数 域上近似求解方程的方法。 多数方程不存在根公式,因
  • 牛顿迭代法求n方根

    2021-04-22 20:12:58
    一、简单推导二、使用借助上述公式,理论上可以任意次方根,假设要求a(假设非负)的n次方根,则有xn=a,令f(x)=xn-a,则只需求f(x)=0时x的值即可。由上述简单推导知,当f(x)=0时,xn+1=xn,因此把f(x)=xn-a 代入...
  • 二分查找的概念与条件 立方根求解 1.大于一 2.为负数 3.在0到1之间 附录:epsilon的精度问题 如何让代码更优美
  • 其实,这道题使用牛顿迭代法可以十分高效的解决。 一、什么是牛顿迭代法 假设有函数:,要想出其根,则可以: 给出一个初始点,则在该点的切线为:; 沿着切线方向,与横轴相交,也即令:,则求得:; 更新,...
  • •计算一个数字的立方根,不使用库函数 详细描述: •接口说明 原型: ...牛顿迭代法:之前看到很多人说这种方法,光看代码还是不能理解什么意思,后来看了这篇博客理解了https://blog.csdn.net/...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 2、利用牛顿迭代法求解立方根,牛顿迭代求解公式(1)所示,令键入值为y,定义函数,则本题的迭代公式如(2),直至等式(3)成立停止迭代。 tips: 四舍五入保留1位小数位的做法可以利用String的静态方法format(“%.1f”,...
  • 牛顿迭代法求平方根

    千次阅读 2019-01-13 12:13:51
    sqrt.py y的平方根 # -*- coding: UTF-8 -*- #sqrt.py y的平方根 y=1010 EPSILON=1e-10 x=y while abs(x-y/x)&gt;(EPSILON):#x=y/x 就是解 x=(x+y/x)/2.0#二分法缩小搜索范围 #print(x) print("...
  • 系列文章目录 【蓝桥杯学习笔记】1. 入门基本语法及练习题 【蓝桥杯学习笔记】2.... 【蓝桥杯学习笔记】3....【蓝桥杯学习笔记】5.... 二、牛顿迭代法 总结 前言 蓝桥本笔记-----从入门到放弃 ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • •计算一个数字的立方根,不使用库函数 详细描述: •接口说明 原型: publicstaticdoublegetCubeRoot(doubleinput) 输入:double待求解参数 返回值:double输入参数的立方根,保留一位小数 输入描述: 待...
  • HJ107 求解立方根

    2021-10-07 00:06:48
    HJ107 求解立方根描述 ...# 牛顿迭代法求解立方根的思路: # 令f(x) = x^3 - a,求解f(x) = x^3 - a = 0。 # 利用泰勒公式展开,即f(x)在x0处的函数值为: # f(x) = f(x0) +f'(x0)(x-x0) = (x0^3-a) + (3x0^2)

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 151
精华内容 60
关键字:

python迭代法求立方根