1 / 38
文档名称:

数值分析实验报告.doc

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

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

分享

预览

数值分析实验报告.doc

上传人:Gebu 2022/6/20 文件大小:386 KB

下载得到文件列表

数值分析实验报告.doc

相关文档

文档介绍

文档介绍:数值分析实验报告
数值分析实验报告
《数值分析》实验报告
班级:
学号:
姓名:
1
数值分析实验报告
课题1 解线性方程组的直接算法
一、问题提出
给出下列几个不同类型的线性方程组,请用适当算法计报告
}
}
for(i=9;i>=0;i--)
{
s=0;
for(j=9;j>i;j--)
s=s+a[i][j]*b[j];
b[i]=(b[i]-s)/a[i][i];
}
for(i=0;i<=9;i++)
printf("b[%2d]=%f\n",i,b[i]);
}
2、平方根法
#include ""
#include ""
void main()
{
FILE *f;
double a[8][8],l[8][8];
double s;
int i,j,k,n;
f=fopen("","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
fscanf(f,"%lf",&a[i][j]);
fclose(f);
for(i=1;i<=n;i++)
{
for(j=1;j<=i-1;j++)
{
for(s=0,k=1;k<=j-1;k++) s+=l[i][k]*l[k][j];
l[i][j]=(a[i][j]-s)/l[j][j];
}
s=0;
for(s=0,k=1; k<=i-1; k++) s+=l[i][k]*l[i][k];
l[i][i]=sqrt(a[i][i]-s);
}
for(i=1;i<=n;i++)
{
5
数值分析实验报告
for(j=1;j<=i;j++)
printf("%lf \n", l[i][j]);
}
}
:
8
4
2 2
-4 -1 14
0 -2 1 6
2 1 -8 -1 22
4 3 -3 -4 4 11 0 2 5 -3 -10 1 14 0 0 6 3 -3 -4 2 19 3、追赶法
#include ""
void main()
{
FILE *f;
double a[10],b[10],c[10],d[10];
double t;
int i,n;
f=fopen("","r");
fscanf(f,"%d",&n);
fscanf(f,"%lf%lf%lf",&b[0],&c[0],&d[0]);
for(i=1;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[0]=c[0]/b[0];
d[0]=d[0]/b[0];
for(i=1;i<=n-1;i++)
{
t=b[i]-c[i-1]*a[i];
c[i]=c[i]/t;
d[i]=(d[i]-d[i-1]*a[i])/t;
}
d[n]=(d[n]-d[n-1]*a[n])/(b[n]-c[n-1]*a[n]);
for(i=n-1;i>=0;i--) d[i]=d[i]-c[i]*d[i+1];
6
数值分析实验报告
for(i=0;i<=n;i++)
printf("d[%2d]=%lf\n",i,d[i]);
}
:
10
4 -1 7 -1 4 -1 5 1 4 -1 -13 -
-1 4 -1 2 -1 4 -1 6 -1 4 -1 -12 -1 4 -1 14 -1 4 -1 -4 -1 4 -1 5 -1 4 -5 六、运行结果
第一个方程组:
第二个方程组
7
数值分析实验报告
第三个方程组:
课题3 线性方程组的迭代法 一、问题提出
对课题一所列的线性方程组,试分别选用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法计算其解。
8
数值分析实验报告
二、要求
1、应用迭代法求解线性方程组,并能与直接法做以比较;
,3,4,52、分别对不同精度要求,如由迭代次数体会该迭代法的收敛,,10,10,10
快慢;
3、对方程组2,