zoukankan      html  css  js  c++  java
  • 牛顿迭代算法

    //

    //  main.cpp

    //  牛顿迭代法

    //

    //  Created by 丁小未 on 13-7-16.

    //  Copyright (c) 2013 dingxiaowei. All rights reserved.

    //

     

    //牛顿迭代法求方程跟

    //利用函数完成用牛顿迭代法求根。方程为ax3+bx2+cx+d=0,系数abcd的值依次为1234,有主函数输入。求x1附近的一个实根。求出根后由主函数输出。

     

    #include<iostream>

    #include<cmath>

    usingnamespacestd;

     

    double value(double a ,double b,double c,double d)

    {

        double x=1,x0,f,f1;

        do{

            x0=x;

            f=((a*x0+b)*x0+c)*x0+d;  

            f1=(3*a*x0+2*b)*x0+c; 

            x=x0-f/f1;

        } 

        while(fabs(x-x0)>=1e-5);

        return x;

    }

     

    int main()

    {

        double a,b,c,d;

        double value(double ,double ,double ,double);

        cout<<"input a,b,c,d:";

        cin>>a>>b>>c>>d;

        cout<<"x="<<value(a,b,c,d)<<endl;

        return 0;

    }

    牛顿迭代法又叫牛顿切线法,主要用于求方程的近似解,根据你设的精度来求满足这个精度范围的解

    设r是f(x)=0的根,选择X0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)f'(x0)(x-x0),求出L与X轴交点的横坐标x1=x0-f(x0)/f'(x0),称x1为r的一次近似值,如果|f(x1)-0|小于指定的精度,则继续循环迭代求根。

    牛顿迭代法缺陷就是必须要求出方程的导数。

     

    感谢来访,共同学习!
  • 相关阅读:
    结构型模式上
    创建型模式下
    创建型模式中
    创建型模式上
    设计模式总述
    Java中事件机制
    UI常用控件
    UITextField和UIViewConteoller
    UIScrollView 和 UIPageControl
    分栏视图控制器
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3197557.html
Copyright © 2011-2022 走看看