求根的算法,除了迭代法,还有牛顿迭代法,用切线(一阶泰勒)近似,弦截法
设方程为 f(x)=0,用某种数学方法导出等价的形式 x=g(x),然后按以下步骤执行:
(1)选一个方程的近似根,赋给变量x。
(2)将x的值记录到 last( last=x ),计算x的新值 g(x)(x = g(x))
(3)当 x 与 last 差的绝对值还不满足指定的精度要求时,回到步骤(2)。
x=初始近似根;
do {
last=x;
x=g(x); // 按特定的方程计算新的近似根
} while ( fabs(x-last)>Epsilon);
return x;
迭代法求方程x=cos(x)一个根的源程序为:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float x=0.0,last;
do
{
last=x;
x=cos(x);
}while((fabs(x-last)<1e-6))
cout<<x<<endl;
return 0;
}
原文链接: https://www.cnblogs.com/lxzbky/p/17180741.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/399801
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!