编程~用迭代法解方程x+sin(x)-3=0,在线等

编程~用迭代法解方程x+sin(x)-3=0,在线等... 编程~用迭代法解方程x+sin(x)-3=0,在线等 展开
 我来答
夜独行孤单
2016-04-19 · TA获得超过3459个赞
知道大有可为答主
回答量:2803
采纳率:82%
帮助的人:621万
展开全部
第一个办法比较简单,就是利用一元三次方程的求根公式,具体算法请参看关于一元三次方程的卡尔丹方法;

第二个办法是利用高斯-塞德尔迭代法把方程变形为:
x=(63x³-114x²+42)/95
把初始迭代值(即-1.0, 0.4和1.2三值)分别代入上述方程,得到一个近似x值,然后再把这个值回代入这个方程继续求解,重复进行这个运算,直至前后两次运算的差小于规定的误差值,就能得到近似值。

其它办法包括牛顿-拉夫逊法等等,不过我觉得上面的两个方法就足够了。

好久没接触C++编程了,我用C来写吧,函数库定义之类的我就省略了,第二个办法编程比较容易,我只写第二个办法的主程序哈!(假设要求误差小于0.0001)

main()
{
float x,k,m,d;
int i;
scanf("%f",&x); /*这一步表示输入要求的x近似值*/
for(i=0;i<99;i++)
{
k=(63*x*x*x-114*x*x+42)/95;
m=k-x;
d=abs(m); /*这一步表示求得的误差*/
if(d>0.0001) continue;
else break;
}
printf("方程的解为%f\n",k);
}

我这里没有调试环境,不知道这个程序有没有错,也不知道这个方法是不是收敛,只是给你的参考,其实最可靠的办法还是用牛顿法,编程一定要耐心调试,毕竟知道算法后需要大量的实际运算才能得到正确的结果!
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式