ZKX's LAB

不懂迭代法求函数根python matlab迭代法求方程的根

2021-04-09知识1

C语言编程:牛顿迭代法求方程的根 程序流程分析:① 赋值x0=1.5,即迭代初值;② 用初值x0代入方程中计算此时的f(x0)及f’(x0),程序中用变量f描述方程的值,用fd描述方程求导之后的值;③ 计算增量d=f/fd;④ 计算下一个x,x=x0-d;⑤ 把新产生的x替换x0,为下一次迭代做好准备;⑥ 若d绝对值大于1e-3,则重复②③④⑤步。源程序代码:includemain(){float x,x0,d,f,fd;x0=0;do {f=2*x0*x0*x0-4*x0*x0+3*x0-6;fd=6*x0*x0-8*x0+3;d=f/fd;x=x0-d;x0=x;}while(fabs(d)>;1e-3);printf(\"x=f\\n\",x);}

利用牛顿迭代法求方程根的函数c++ 第(1)问代码如下e799bee5baa6e79fa5e9819331333361326337define fun1 5*p(x,9)+7*p(x,8)+10*p(x,7)+156*p(x,4)+89*p(x,3)+90*p(x,2)+101*x+50/函数define fun1_45*p(x,8)+56*p(x,7)+70*p(x,6)+156*4*p(x,3)+89*3*p(x,2)+180*p(x,1)+101/导数includeincludeusing namespace std;double p(double x,int n);int main(){double x=0;while(fabs(fun1)>;0.0000001)/精度x=x-(fun1)/(fun1_);cout;}double p(double x,int n){double s=1;for;n>;0;n-)s*=x;return s;} 第(2)问define e 2.718281828459define fun2 x*pow(e,x)+p(x,5)*p(sin(x),3)define fun2_pow(e,x)+x*pow(e,x)+4*p(x,4)*p(sin(x),3)+3*p(sin(x),2)*cos(x)*p(x,5)includeincludeusing namespace std;double p(double x,int n);int main(){double x=10;while(fabs(fun2)>;0.0000001)/精度x=x-(fun2)/(fun2_);cout;}double p(double x,int n){double s=1;for;n>;0;n-)s*=x;return s;}

迭代公式极限的求法一篇资料上看到的有点不懂, 一.不动点迭代法 将方程y=f(x)=0改写成等价的形式: x=ψ(x)  (2.1)求x*使得f(x*)=0等价于求x*使得x*=ψ(x*). 称x*为函数的一个不动点.求f(x)的零点就等价于求ψ(x)不动点,选择

#不懂迭代法求函数根python

随机阅读

qrcode
访问手机版