数值分析-方程迭代法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验内容
1 用下列方法求方程201303==--x x x 在附近的根,要求准确到四位有效数字。
(1)牛顿法。
(2)单点弦截法(3)双点弦截法
2 用Aitken 法求方程0123=--x x 在5.10=x 附近的根,精度要求为410-=ε。
三 实验步骤(算法)与结果
1: 用双点弦截法求方程201303==--x x x
在附近的根
①算法的C 语言代码:
#include<stdio.h>
#include<math.h>
double f(double x)
{ double f;
f=x*x-1/x;
return f;
}
void main()
{
double y=0,z=0,x;
printf("please enter a number near the root: ") ;
scanf("%f",&x);
for (y=f(x),z=f(y);fabs(z-y)>5e-5;)
{
x=(x*z-y*y)/(x-2*y+z) ;
y=f(x);
z=f(y);
}
printf("the root is:") ;
printf("X=%-10.4f\n",z);
}
②实验结果:
如下图,按题要求输入2,则可得结果X=1.4656
2:用Aitken 法求方程0123=--x x
在5.10=x 附近的根
①算法的C 语言代码:
#include<stdio.h>
#include<math.h>
double f(double x)
{
double f=pow(x,3)-3*x-1;
return f;
}
void main()
{
double f1,f2,x=2.0,y=1.5,z;
for(;fabs(y-x)>5e-5;)
{
f1=f(x);
f2=f(y);
z=y-f2*(y-x)/(f2-f1);
x=y;y=z;
}
printf("the root is:") ;
printf("X=%-10.4f\n",y);
}
②实验结果:
如下图,在程序代码中预先设置接近于根的两个值x1=2.0与x2=1.5作为初值,则可得结果X=1.8794.。