首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

寻觅一个区间牛顿法的程序

2013-03-14 
寻找一个区间牛顿法的程序各位大神,有没有人用c++编过区间牛顿法的程序,对于区间牛顿法有很多理解不了[解

寻找一个区间牛顿法的程序
各位大神,有没有人用c++编过区间牛顿法的程序,对于区间牛顿法有很多理解不了
[解决办法]
仅供参考,还不知道这算不算“区间牛顿法”:

//用C语言编程,求出sin(x)=(5/6)*x这个方程在区间(0,π/2)的近似解。
#include <math.h>
#include <stdio.h>
double x,e;
void main () {
    x=0.001;
    e=0.001;
    while (1) {
        while (1) {
            if (sin(x)>5.0/6.0*x) {
                x+=e;
            } else {
                break;
            }
        }
        e/=10.0;
        if (e<1e-15) break;
        while (1) {
            if (sin(x)<5.0/6.0*x) {
                x-=e;
            } else {
                break;
            }
        }
        e/=10.0;
        if (e<1e-15) break;
    }
    printf("%.14g\n",x);
}
//1.026738291371

//用C语言编程,求出2^x=x^10这个方程的解。
#include <math.h>
#include <stdio.h>
double x,e;
void main () {
    x=-1.0;
    e=0.001;
    while (1) {
        while (1) {
            if (pow(2.0,x)<pow(x,10.0)) {
                x+=e;
            } else {
                break;
            }
        }
        e/=10.0;
        if (e<1e-15) break;
        while (1) {
            if (pow(2.0,x)>pow(x,10.0)) {
                x-=e;
            } else {
                break;
            }
        }
        e/=10.0;
        if (e<1e-15) break;


    }
    printf("%+.14g\n",x);

    x=1.0;
    e=0.001;
    while (1) {
        while (1) {
            if (pow(2.0,x)>pow(x,10.0)) {
                x+=e;
            } else {
                break;
            }
        }
        e/=10.0;
        if (e<1e-15) break;
        while (1) {
            if (pow(2.0,x)<pow(x,10.0)) {
                x-=e;
            } else {
                break;
            }
        }
        e/=10.0;
        if (e<1e-15) break;
    }
    printf("%+.14g\n",x);
}

热点排行