读书人

用C解方程u/x=2.5*log(x*y/r)+5.5解决

发布时间: 2012-08-07 14:54:49 作者: rapoo

用C解方程u/x=2.5*log(x*y/r)+5.5
定义一个函数,比如
int slove(int y, int u, int r)
{
......
return x;
}

怎么写slove这个函数,解/x=2.5*log(x*y/r)+5.5,求出x?

[解决办法]
仅供参考

C/C++ code
//用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的语义来实现,很难写出高效的实现

读书人网 >C语言

热点推荐