已知f(x)=cos(x)-x. x 的初始直为3.14159/4, 用牛顿法求解方程f(x)=0的近似解,要求精确到10-6.f(x)的牛顿法为:
xn+1=xn+(cos(xn)-xn)/(sin(xn)+1)
谢谢大家帮助解答!!!!!
[此贴子已经被作者于2004-06-14 16:56:55编辑过]
对不起哈!我没完全理解你的意思 但是我按我的理解写了个 不晓得你满意不 我刚刚开始学C++还有很多不懂的 请原谅哈
#include<math.h> #include<iostream.h> void main() { double x=3.14159/4; double y; for(;(y-0.000001)<(-0.0000005);) { y=cos(x)-x; x=(+cos(x))/(sin(x)+1); } cout<<x<<endl; }
你看哈对不对哈?要是有什么不对的提出来哈
不好意思!!原来的粗心写错了,现在已经改正
哪位兄台对那个牛顿法给我点思路!!!!!
[此贴子已经被作者于2004-06-15 08:27:39编辑过]
我也是初学者,给出我的代码:
#include<iostream.h> #include<math.h>
void main() { double x=3.14159/4; while(fabs((cos(x)-x)/(sin(x)+1))>=1e-6) x=cos(x); cout <<x <<endl; }
shan0yu,
你把那个头像换一下,它跳个不停,我看着头晕。不然不给你解答问题。