}
/**********************************************************/
void cheak(double a,double b,double u)//二分法 {
double z,h,w; ER++; h=(a+b)/2; z=F(a)*F(b); w=Abs(h-xx); if(w<=u) {X=h;} else {
if((F(a)*F(h))<0) {cheak(a,h,u);}//递归 else
{cheak(h,b,u);} } }
int main() { double p,u;
cout<<\请输入误差u\ cin>>u;
cheak(1.0,2.0,u); //二分法 cout<<\二分法 X= \
cout<<\cout<<\迭代次数:\
cout<<\**\double Dd; Dd=DD(2.0,u);
cout<<\简单迭代法X= \
cout<<\简单迭代法 cout<<\迭代次数:\
cout<<\*\ double NN; NN=N(2.0,u);
cout<<\牛顿迭代X= \
cout<<\牛顿迭代法 cout<<\迭代次数:\
return 0; }
实验结果:
实验分析:二分法、迭代法和牛顿迭代法都是方程求根的常用方法,
二分法是逐步搜索方法的一种改进,在有根区间[a,b]上无限地进行二分过程,这些区间最终必将收敛于一点,该点就是所求的根。
牛顿迭代法可以加快迭代速度。
二分法算法简单,易于操作,但是精度较低,计算量大;简单迭代法精度较二分法有所提高但在迭代时需要选择合适的迭代公式,以得到较快的收敛速度;牛顿迭代法精度最高,计算量小,但需要保证在迭代过程中分母不能为零,否则会出BUG。
实验六 高斯列主元消去法和直接三角分解法(LU分
解)
实验目的:了解解线性方程组的直接法,掌握直接三角分解法求解方程组的解以及高斯列主元消去法求解方程组的解。 实验内容:用直接三角分解法(LU分解)求方程组的解 用高斯列主元消去法
系数矩阵:10 7 8 7 常向量:10 7 5 6 5 8 8 6 10 9 6 7 5 9 10 7 精确解为:(-60,102,-27,16)
实验流程图:
输出结果 输出三角矩阵 求三角矩阵 开始 根据三角矩阵解方程
结束
相关推荐: