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

//详细描述:

//接口说明

//原型:

//public static double getCubeRoot(double input)

//输入:double 待求解参数

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

牛顿迭代法原理:

对于求a的立方根,可以设f(x)=x^3-a,从而转换成求解f(x)=0,即求方程的根。

f(x)展开泰勒公式:f(x)=f(x0)+(x-x0)*f'(x0)=0,得出的x=x0-f(x0)/f'(x0)=g(x0),此时递归调用该式子可以逐步接近于最终结果。

为什么会接近于最终结果?当然,牛顿迭代并不是无条件收敛的。

首先,要保证f'(x0)!=0,这样f(x)=0将等价于x=x-f(x)/f'(x)。而x_k+1=xk-f(xk)/f'(xk)=g(xk),由迭代过程收敛性定理可得abs(g'(xk))<=L<1(具体证明请读者自行查找)。

g'(x*)=f(x*)*f''(x*)/[f'(x)]^2,x*为f(x)的一个根,所以g‘(x*)=0,g''(x*)=f''(x*)/f'(x*)!=0,只要f’‘(x*)!=0,则牛顿迭代法收敛。

#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;

}

python牛顿法算立方根_牛顿迭代法求解立方根相关推荐

  1. python牛顿法解非线性方程组_matlab实现牛顿迭代法求解非线性方程组.pdf

    matlab实现牛顿迭代法求解非线性方程组.pdf matlab 实现牛顿迭代法求解非线性方程组实现牛顿迭代法求解非线性方程组 已知非线性方程组如下 3*x1-cosx2*x3-1/20 x12-81 ...

  2. mysql 立方根函数_Java实现牛顿迭代法求解平方根、立方根

    一.简介 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法. ...

  3. matlab牛顿法解非线性方程组,matlab实现牛顿迭代法求解非线性方程组.pdf

    资源描述 matlab 实现牛顿迭代法求解非线性方程组实现牛顿迭代法求解非线性方程组 已知非线性方程组如下 3*x1-cos(x2*x3)-1/2=0 x1^2-81*(x2+0.1)^2+sin(x ...

  4. 二分法和简单迭代法的优缺点_二分法和牛顿迭代法求解方程的比较.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp理学 二分法和牛顿迭代法求解方程的比较.doc5页 本文档一共 ...

  5. 非线性方程组牛顿迭代法matlab,matlab实现牛顿迭代法求解非线性方程组

    <matlab实现牛顿迭代法求解非线性方程组>由会员分享,可在线阅读,更多相关<matlab实现牛顿迭代法求解非线性方程组(5页珍藏版)>请在人人文库网上搜索. 1.matla ...

  6. c语言牛顿迭代法求解非线性方程组,利用牛顿迭代法求解非线性方程组

    最近一个哥们,是用牛顿迭代法求解一个四变量方程组的最优解问题,从网上找了代码去改进,但是总会有点不如意的地方,迭代的次数过多,但是却没有提高精度,真是 最近一个哥们,是用牛顿迭代法求解一个四变量方程组 ...

  7. 3.牛顿迭代法求解方程的根

    牛顿迭代法求解方程的根 引题:用牛顿迭代法求下列方程在值等于x附近的根: 2 x 3 − 4 x 2 + 3 x − 6 = 0 2x^3-4x^2+3x-6=0 2x3−4x2+3x−6=0 输入: ...

  8. 【学习笔记】牛顿迭代法求立方根

    [学习笔记]牛顿迭代法求立方根 简介 介绍使用牛顿迭代法求立方根x3{\sqrt[3]{x}}3x​的C语言实现和公式的推导. 代码 float CubeRoot(float num) {float ...

  9. 分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根

    编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代区间 ...

最新文章

  1. gi克隆github文件_如何构建GitHub文件搜索功能的克隆
  2. oracle加as报错,【Oracle】-【sqlplus / as sysdba登录报错问题】-新用
  3. iOS中autolaylout和sizeclass的理解
  4. 《Spark与Hadoop大数据分析》——1.2 大数据科学以及Hadoop和Spark在其中承担的角色...
  5. python基本输入输出系统_Python的输入输出
  6. 关于Synchornized,Lock,AtomicBoolean和volatile的区别介绍
  7. python中类的嵌套_python 中的嵌套类
  8. win7 html 设置成桌面,教你怎样设置专属自己的windows7动态桌面
  9. 电机与拖动基础第四版_伺服电机控制
  10. 思科ASA防火墙升级为云端防火墙
  11. 两个分数化简比怎么化_分数化简比的方法什么,六年级上求比值与化简比的对比...
  12. matlab计算方阵对应特征值的特征向量
  13. oracle数据库path,oracle数据库path
  14. 今日头条Android适配方案,android 今日头条的屏幕适配理解
  15. CMD 创建初始化Vue项目
  16. Android如何自定义服务器DynamicMockServer的使用
  17. 均方误差——MSE 和标准差 的区别
  18. 关于电商运营的XMind思维导图
  19. adb自动化控制手机工具类
  20. MySQL内部函数介绍

热门文章

  1. 技术人的软实力(0)不可忽视的软实力培养
  2. 深度学习之编程语言Python(Ⅰ)
  3. tomcat jquery mysql_Docker 搭建 Tomcat + Mysql
  4. 报错:For input string
  5. EL表达式和JSTL标签库学习笔记
  6. jetson nano开电源_NVIDIA Jetson Nano开发者套件入门指南
  7. Pi滤波中磁珠和电感的使用注意事项
  8. css实现气泡框小尾巴
  9. CAPTCHA(验证码)的来源与作用
  10. 关于 SQL Server Reporting Services 2012 匿名登录