数值计算方法课程报告.docx

上传人:b****7 文档编号:25213596 上传时间:2023-06-06 格式:DOCX 页数:13 大小:101.43KB
下载 相关 举报
数值计算方法课程报告.docx_第1页
第1页 / 共13页
数值计算方法课程报告.docx_第2页
第2页 / 共13页
数值计算方法课程报告.docx_第3页
第3页 / 共13页
数值计算方法课程报告.docx_第4页
第4页 / 共13页
数值计算方法课程报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数值计算方法课程报告.docx

《数值计算方法课程报告.docx》由会员分享,可在线阅读,更多相关《数值计算方法课程报告.docx(13页珍藏版)》请在冰豆网上搜索。

数值计算方法课程报告.docx

数值计算方法课程报告

 

课程报告

课程名称______《数值计算》__

学生学院_____机电工程学院___

专业班级_____微电子

(1)班____

学号________

学生姓名_______________

指导教师_____________

 

XXXX年XX月XX日

 

姓名:

 

线

 

学号:

 

 

装专业:

 

学院:

广东工业大学考试试卷(A)

 

课程名称:

数值计算

试卷满分

100分

考试时间:

2015年12月26日

(第17周星期六)

题号

总分

评卷得分

评卷签名

复核得分

复核签名

“数值计算”考试要求

“数值计算”考试以开卷形式进行。

在“数值计算”课程考试日(2015

年12月19日,第12周星期五)考试时间,在考试教室领取试题,在2015

年12月26日(第17周星期六)进行答辩。

不参加答辩者将取消考试成绩。

“数值计算”考试结果要求独立在计算机上完成,可使用Matlab或C

程序编程实现。

考试结果将以报告书形式提交,内容包括对问题描述、计算

程序以及算例、计算结果、分析组成。

计算程序要求具有通用性,能够处理

异常情况,可以输入问题、算法参数、算例及初始值,在计算过程中显示当

前计算状态、计算完成后显示计算结果。

上述内容将作为试卷成绩的主要评

定依据。

特别提醒,不得使用教师在讲课和实验时的范例作为考试结果。

告书具体格式参考毕业设计手册。

以考生学号命名的文件夹存放程序及报告书电子版,以班级为单位刻录

在一张光盘中,与打印版报告书一起由班长和学习委员一起上交任课教师。

数值计算课程总成绩将由试卷成绩(70%)、平时成绩(30%)组成。

 

 

一编写Gauss列主元消元法求解线性方程组的程序,要求附有算例。

(本题20分)

 

二编写多项式插值的程序,要求附有算例。

(本题20分)

 

三编写Gauss积分方法的程序,要求附有算例。

(本题20分)

 

四编写Euler方法求常微分方程初值问题的程序,要求附有算例。

(本题20分)

 

五编写Newton迭代法求非线性方程的程序,要求附有算例。

(本题20分)

 

广东工业大学试卷用纸,共2页,第2页

一编写Gauss列主元消元法求解线性方程组的程序,要求附有算例。

(本题20分)

问题描述:

编写一C语言程序,算法为列主元消元法,功能为求解线性方程组。

解:

#include

#include

#defineN200

voidmain()

{

inti,j,k,m,n;

floats,e,q;

doublex;

floatX[N];

floatarray[N][N+1];

printf("请输入方程的阶数\n");

scanf("%d",&n);

printf("输入的原方程系数,中间用空格隔开\n");

for(i=0;i

for(j=0;j

scanf("%f",&array[i][j]);

printf("方程系数为\n");

for(i=0;i

{

for(k=0;k<=n-1;k++)//在相应的列中选主元//

{

m=k;

for(i=k+1;i<=n-1;i++)

{

x=fabs(array[m][k]);

if(fabs(array[i][k]>x))

m=i;

}

printf("最大元在第%d行\n\n\n\n",m);

if(array[m][k]==0)

{

printf("ERROR");

return;

}

else//两行进行比较交换两行//

{

for(j=k;j<=n;j++)

{

q=array[k][j];

array[k][j]=array[m][j];

array[m][j]=q;

}//换行结束//

for(i=0;i

{

for(j=0;j

{

printf("%8.4f",array[i][j]);

}

printf("\n");//输出换行后的矩阵//

}

printf("\n\n\n\n\n\n");

for(i=k+1;i<=n-1;i++)

{

s=array[i][k]/array[k][k];//消元过程//

for(j=0;j<=n;j++)

{

array[i][j]=-(array[i][j]-s*array[k][j]);

}

}

}

}

}

printf("变换后的矩阵\n");

for(i=0;i

{

for(j=0;j

{

printf("%8.4f",array[i][j]);

}

printf("\n");

}

printf("\n");

array[n-1][n]=array[n-1][n]/array[n-1][n-1];

array[n-1][n-1]=1;

for(i=n-2;i>=0;i--)

{

e=0;

for(j=i+1;j

{

e=e+array[i][j]*array[j][n];

}

array[i][n]=(array[i][n]-e)/array[i][i];

array[i][i]=1;

for(j=i+1;j

{array[i][j]=0;}

}

printf("消元后的矩阵\n");

for(i=0;i

{

for(j=0;j

{

printf("%8.4f",array[i][j]);

}

printf("\n");

}

for(i=0;i

{

X[i]=array[i][n];

}

printf("解的集合\n");

for(j=0;j

{

printf("%8.4f",X[j]);

}

printf("\n");

}

 

例子:

求方程组的解。

运算程序结果:

 

 

计算结果与分析:

计算结果如下:

代入方程中得带的结果等于右边。

可见列主元消元法求解精度高。

 

二编写多项式插值的程序,要求附有算例。

(本题20分)

问题描述:

写一C语言程序,算法为拉格朗日插值法,功能为求解多项式函数。

插值函数为:

解:

#include"stdio.h"

#defineN200

voidmain()

{

inti,t,j,n;

floata,b,c=0,x,w;

floatX[N];

floatY[N];

printf("请输入已知的数个数\n");

scanf("%d",&n);

printf("请输入x的值\n");

for(j=0;j

{

scanf("%f",&X[j]);

}

printf("\n");

printf("X的集合\n");

for(i=0;i

{

printf("%8.4f",X[i]);

}

printf("\n");

printf("\n");

printf("请输入对应y的值\n");

for(j=0;j

{

scanf("%f",&Y[j]);

}

printf("y的集合\n");

for(i=0;i

{

printf("%8.4f",Y[i]);

}

printf("\n");

printf("\n");

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1