用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语言编程,求出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的语义来实现,很难写出高效的实现