首页 / C++ / 弦截法求方程的根(c++)
弦截法求方程的根(c++)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了弦截法求方程的根(c++),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含960字,纯文字阅读大概需要2分钟。
内容图文
![弦截法求方程的根(c++)](/upload/InfoBanner/zyjiaocheng/607/3c27ab05343f4a97a80d241902ae300f.jpg)
弦截法是一种求方程根的基本方法,在计算机编程中常用。他的思路是这样的:任取两个数x1、x2,求得对应的函数值f(x1)、f(x2)。如果两函数值同号,则重新取数,直到这两个函数值异号为止。连接(x1,f(x1))与(x2,f(x2))这两点形成的直线与x轴相交于一点x,求得对应的f(x),判断其与f(x1)、f(x2)中的哪个值同号。如f(x)与f(x1)同号,则f(x)为新的f(x1)。将新的f(x1)与f(x2)连接,如此循环直到f(x)小于某个确定的精度为止。
编一程序,计算 x 3 + 2 ? x 2 + 5 ? x ? 1 = 0 x^3 + 2*x^2+5*x-1=0 x3+2?x2+5?x?1=0在区间【-1,1】之间的根。
#include <iostream>
using namespace std;
int main()
{
double x, x1 = -1, x2 = 1, f1, f2, f, epsilon;
cout << "请输入精度:";
cin >> epsilon;
do {
f1 = x1 * x1 * x1 + 2 * x1 * x1 + 5 * x1 - 1;//计算f(x1)
f2 = x2 * x2 * x2 + 2 * x2 * x2 + 5 * x2 - 1;//计算f(x2)
x = (x1 * f2 - x2 * f1) / (f2 - f1);
f = x * x * x + 2 * x * x + 5 * x - 1;
if (f * f1 > 0) x1 = x;
else x2 = x;
} while (fabs(f) > epsilon);//误差在允许范围内
cout << "方程的根是:" << x << endl;
return 0;
}
运行结果:
内容总结
以上是互联网集市为您收集整理的弦截法求方程的根(c++)全部内容,希望文章能够帮你解决弦截法求方程的根(c++)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】