有大神来看看吗?我是想用二分法同时得到两个解,但是到最后我都不知道自己编的啥了,但是能得到正确答案!
#include<iostream>
using namespace std;
double fx(double x)
{
return x*x - x - 2;
}
const double esp = 1.e-5;
double L, R, M, a;
double fL, fM;
double root(double);
int main()
{
cout << "单调区间左端点L="; cin >> L;
cout << "单调区间右端点R="; cin >> R;
cout << "请输入求解步长:";
cin >> a;
while (1)
{
if (fx(L)*fx(L + a) > 0)
L = L + a;
else
{
L = L - a;
cout << "①解为:" << root(L)<<endl; break;
}
if (L > R)
{
cout << "非有解区间!";
break;
}
}
L = L + 3*a;
while (1)
{
if (fx(L)*fx(L + a) > 0)
L = L + a;
else
{
L = L - a;
cout << "②解为:" << root(L)<<endl; break;
}
if (L > R)
{
cout << "非有解区间!";
break;
}
}
system("pause");
return 0;
}
double root(double L)
{
while (fabs(R - L) > esp)
{
M = (2 * L + a) / 2;
fL = fx(L);
fM = fx(M);
if (fL*fM < 0)R = M;
else if (fL*fM>0)L = M;
else break;
}
return M;
}
using namespace std;
double fx(double x)
{
return x*x - x - 2;
}
const double esp = 1.e-5;
double L, R, M, a;
double fL, fM;
double root(double);
int main()
{
cout << "单调区间左端点L="; cin >> L;
cout << "单调区间右端点R="; cin >> R;
cout << "请输入求解步长:";
cin >> a;
while (1)
{
if (fx(L)*fx(L + a) > 0)
L = L + a;
else
{
L = L - a;
cout << "①解为:" << root(L)<<endl; break;
}
if (L > R)
{
cout << "非有解区间!";
break;
}
}
L = L + 3*a;
while (1)
{
if (fx(L)*fx(L + a) > 0)
L = L + a;
else
{
L = L - a;
cout << "②解为:" << root(L)<<endl; break;
}
if (L > R)
{
cout << "非有解区间!";
break;
}
}
system("pause");
return 0;
}
double root(double L)
{
while (fabs(R - L) > esp)
{
M = (2 * L + a) / 2;
fL = fx(L);
fM = fx(M);
if (fL*fM < 0)R = M;
else if (fL*fM>0)L = M;
else break;
}
return M;
}
...全文
相关推荐
4.5.2 用二分法求方程的近似解——小学生ppt学习课件
因此,A、B、D选项不满足这一条件,而C选项满足,因此答案为C。**2. 实际操作:**- **例题**:求函数f(x) = x² - 5的负零点的近似值(精确度0.1)。
二分法求最值:面向答案编程
思路 求最值的算法题一般是贪心或者动规,但也有其他的情况,既找不到局部最优也写不出递推公式,这个时候或许可以尝试一下二分。 二分的思路很简单,即面向答案编程。它不关心具体的操作过程,而是先确定答案的范围,二分得到中间值,判断当前值是否满足要求,继续二分直到找到结果。简直是另辟蹊径有木有? 例子 lc5219. 每个小孩最多能分到多少糖果 https://leetcode-cn.com/problems/maximum-candies-allocated-to-k-children/. 给你一个 下标从 0
高中数学4.1.2二分法导学案无答案北师大版必修1
;D选项也是正确的,二分法求得的通常是近似解。
2020届高中数学 4.1.2用二分法求方程的近似解素材 北师大版必修1.doc
**二分法求解举例** - 练习5中,用二分法求解方程在(1, 2)内的近似解,精确到0.1。最终答案为1.3,意味着找到的解与实际解的差值不超过0.1。6.
高中数学用二分法求方程的近似解练习题(带答案).docx
高中数学用二分法求方程的近似解练习题(带答案).docx


