1 / 8
文档名称:

计算机实习报告.doc

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

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

分享

预览

计算机实习报告.doc

上传人:lizhencai0920 2018/1/31 文件大小:115 KB

下载得到文件列表

计算机实习报告.doc

相关文档

文档介绍

文档介绍:目录
一、实****题目编号
二、需求分析及总体设计
三、程序实现
四、上机操作
五、心得与总结

一实验编号

利用牛顿迭代法求在x=。

利用高斯消去法求三元一次方程的解。
二需求分析和总体设计
编号01 用牛顿迭代求解高次方程
因为题目限制比较多,即给出确定方程以及迭代初值,并且限制了迭代方法,所以算法比较简单也比较唯一,简单利用循环即可实现。不作详细介绍,只附上代码。
编号03 高斯方程求解三元一次方程。
同样,题目限制了高斯方程,并且给出了确定方程。在这里,为了提高代码的通用性,所以选择了方程由键盘输入。同时对矩阵的行列数利用了宏定义,提高了代码的利用率,可以用来解决任何多远一次方程,当然这里并没有考虑到主元素为0的情况,即并未使用列主元素的高斯消去,害怕离题太远。
至于高斯消去算法的实现,主要通过灵活运用循环迭代实现。并且在程序实现的过程中加进去了中间过程的输出,这样代码也可以用来求解逆矩阵。进一步提高了代码的利用率。
三程序实现
编号1 代码如下所示
#include""
#include""
#include""
void main()
{
float x0,f,f1;
float x1;
x1 = ;
do
{
x0=x1;
f=x0*x0*x0-3*x0-1;
f1=3*x0*x0-3;
x1=x0-f/f1;
}
while(fabs(x1-x0)>=1e-5); /*牛顿迭代的实现*/
printf("根是%f\n",x1);
}
编号2 高斯消去法
#define N 3
#define M 4 /*宏定义*/
#include""
void main()
{
float a[N][M];
int i,j;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%f",&a[i][j]); /*方程由键盘输入*/
int m;
for (m=0;m<N-1;m++)
{
for(i=m+1;i<N;i++)
{
float t;
t = a[i][m];

for(j=m;j<M;j++)
{

a[i][j]=a[i][j]-t/a[m][m]*a[m][j];
}
}
} /*实现高斯消去*/
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
printf("%f ",a[i][j]) ;
/*输出中间过程,提高代码利用率*/
printf("\n");
}
for(m=N-1;m>0;m--)
{
for(i=m-1;i>=0;i--)
{
float t ;
t = a[i][m];
for(j=M-1;j>=0;j--)
a[i][j]=a[i][j]-t/a[m][m]*a[m][j];
}
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
pr