1 / 19
文档名称:

数值分析实验报告(1)(免费).doc

格式:doc   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析实验报告(1)(免费).doc

上传人:cdsqbyl 2015/9/11 文件大小:0 KB

下载得到文件列表

数值分析实验报告(1)(免费).doc

相关文档

文档介绍

文档介绍:《数值分析》
实验报告册
姓名:
学号:
专业:
年级:
计算机科学学院
计算机应用教研室
2009 年春季学期
目录
实验一 3
实验二 5
实验三 7
实验四 10
实验五 12
实验六 15
实验七……………………………………………………………………18
实验一
一、课题名称
非线性方程数值解法
二、目的和意义
学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;明确插值多项式和分段插值多项式各自的优缺点;熟悉插值方法的程序编制;如果绘出插值函数的曲线,观察其光滑性。
三、计算公式
Lagrange插值公式:

牛顿插值公式:
四、结构程序设计

程序设计:
#include""
float f(float x)
{
return((x*x*x-1)/3); /*牛顿迭代函数*/
}
main()
{
float x1,x2,eps,d;int k=0;
clrscr();
printf("\n input x1="); /*输入迭代初值*/
scanf("%f",&x1);
printf("\n input eps="); /*输入求解精度eps*/
scanf("%f",&eps);
do{
k++;
x1=x2;
x2=f(x1);
printf("\n %d %f\n",k,x2);
}while(fabs(x2-x1)>=eps);
printf("the root of f(x)=0 is x=%f,k=%d\n",x2,k); /*输出x和迭代次数k*/
getch();
}

五、结果讨论和分析
计算结果分析:
将六种迭代格式分别代入程序试验:
第一种格式:无论何值都无法求出,即发散
第二种格式:初值为任意的x(x2<=1),
X=-,k=6
其他值为发散。
第三种格式:初值为任意的x(x>0),
X=,k=10
其他值为发散。
第四种格式:初值为任意值,
X=-,k=5
(5)第五种格式:初值为任意值,
X=-,k=4
第六种格式:初值为任意值,
X=-,k=4


由此可知不同的初值对公式的计算有影响,当初值不满足函数的收敛条件时,无法计算结果,函数发散。
精度的大小不同也使迭代函数迭代的次数不同,从而影响xn的近似程度。
实验二
一、课题名称
解线性方程组的直接方法
二、目的和意义
掌握线性方程组直接接法的基本思想;了解不同数值方法解线性方程组的原理、实现条件、使用范围、计算公式;培养编程与上机调试能力。
三、计算公式
消去法
设a(k)kk=0,对k=1,2,……,n-1计算
mik=a(k)ik/a(k)kk
a(k+1)ij=a(k)ij-mika(k)kj i,j=k+1,k+2,……,n
b(k+1)i=b(k)i-mikb(k)k
n
xn=b(n)n/a(n)nn
j=i+1
xi=(b(i)i-Σa(i)ijxj)/a(i)ii i=n-1,n-2,……,1
平方根法追赶法
lij=(aii-Σl2ik)1/2 Ly=f
lji=(aji-Σljklik)/lii j=i+1,i+2,……,n Ux=y
y1=f1/l1
y2=(fi-aiyi-1)/li i=2,3,……,n
四、结构程序设计
用追赶法求解线性方程组
#include""
main()
{
FILE*f;
double a[15],b[15],c[15],d[15];
double t;
int i,n;
f=fopen("","r");
fscanf(f,"%d",&n);
fscanf(f,"%lf%lf%lf",&b[1],&c[1],&d[1]);
for(i=2;i<=n-1;i++)
{
fscanf(f,"%lf%lf%lf%lf",&a[i],&b[i],&c[i],&d[i]);
}
fscanf(f,"%lf%lf%lf",&a[n],&b[n],&d[n]);
fclose(f);
c[1]=c[1]/b[1];
d[1]=d[1]/b[1];
for(i=2;i<=n-1;i++)
{
t=b[i]-c[i-1]*a[i];