用c++求方程 xlg(x)=1 的实根的近似值,要求误差不超过0.001。
答案:2 悬赏:0
解决时间 2021-12-30 12:14
- 提问者网友:梧桐不渝
- 2021-12-30 08:48
用c++求方程 xlg(x)=1 的实根的近似值,要求误差不超过0.001。
最佳答案
- 二级知识专家网友:山鬼偶尔也合群
- 2021-12-30 08:58
C++里应该有lg()函数吧
这个式子就是lg(x)=1/x
做循环从x=1到 100 然后0.001一加(或者缩小范围1到另一个数A 要保证近似值在这个[1,A]范围内)
for(int x=1;x<100;x=x+0.001)
当lg(x)和1/x的差的绝对值 小于0.001的时候输出这个x
这个式子就是lg(x)=1/x
做循环从x=1到 100 然后0.001一加(或者缩小范围1到另一个数A 要保证近似值在这个[1,A]范围内)
for(int x=1;x<100;x=x+0.001)
当lg(x)和1/x的差的绝对值 小于0.001的时候输出这个x
全部回答
- 1楼网友:随心随缘不随便
- 2021-12-30 10:19
用折半法缩小误差
设g(x)=xlg(x)
①首先找到x1和x2使得g(x1)<1且g(x2)>1
②那么实根就在x1,x2之间
然后找到x3=(x1+x2)/2,看g(x3)是大于1还是小于1
③如果g(x3)>1,那么实根就在x1,x3之间;如果g(x3)<1,那么实根就在x3,x2之间。
这里就和步骤②类似了。循环计算直到这个实根范围(或者是x1~x3,或者是x3~x2)在0.001以内就行
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯