gpt4 book ai didi

c - C 二分法——初学者的基本问题

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:33 24 4
gpt4 key购买 nike

我正在为二分法编写代码。

我的代码在下面,不知何故循环似乎没有开始。

没有特殊的编译问题。

我认为变量声明/函数原型(prototype)没有任何问题。

谁能帮我找到真正的问题所在?

最佳答案

标准binary search algo像这样:

do {
m=(a+b)/2; /* Change 1, 4 lines */
pA=polynomial(a,c3,c2,c1,c0);
pB=polynomial(b,c3,c2,c1,c0);
pM=polynomial(m,c3,c2,c1,c0);

if(pA*pM<0) {
b=m;
}
else {
a=m; /* Change 2, 1 line */
}
} while(pM!=0 && fabs(a-b)>0.0001);

您需要有条件地更改 ab 以收敛(接近退出条件)并重新计算 pApB pM 在每次迭代中。

有一些优化范围(避免一些重新计算),我希望您能在代码按您的预期工作后弄清楚。

关于c - C 二分法——初学者的基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com