新手菜菜,求大佬,关于二分法查找方程的根
mathematica吧
全部回复
仅看楼主
level 2
二分法查找一直不能正确输出啊,是用Which语句实现递归的过程错了吗
下面是代码::
temp = 10^-6;(*设置一个阈值来判断函数值是否接近零*)
Findzero[f_, start_, final_, temp_] :=
Module[{a = N[start], b = N[final], c}, c = (a + b)/2; fc = f[c];
Which[Abs[a - b] <= temp, Return[c], fc <= temp, Return[c],
f[a]*fc > 0, Findzero[f, c, b, temp], f[b]*fc > 0,
Findzero[f, a, c, temp]]];
f[x_] := Sin [x];
Findzero[f, -1.5, 0.5, temp]
[乖]希望大佬们能够为我点拨一二。[玫瑰][玫瑰][玫瑰]
2024年04月08日 04点04分 1
level 7
啊这,你把fc <= temp改成Abs@fc <= temp试试。。
2024年04月08日 06点04分 2
啊,这,感谢大佬[泪][泪][泪]
2024年04月08日 09点04分
啊,这,感谢大佬[泪][泪][泪]
2024年04月08日 09点04分
1