数值分析课程设计报.docx
- 文档编号:8319496
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:12
- 大小:152.78KB
数值分析课程设计报.docx
《数值分析课程设计报.docx》由会员分享,可在线阅读,更多相关《数值分析课程设计报.docx(12页珍藏版)》请在冰豆网上搜索。
数值分析课程设计报
课程设计报告
课程名称数值分析
课题名称数值积分
专业信息与计算科学
班级1202
学号06
姓名贵碧蓉
指导教师聂存云、刘光辉
2014年12月16日
湖南工程学院
课程设计任务书
课程名称数值分析
课题数值积分
专业班级信息与计算科学1202班
学生姓名贵碧蓉
学号06
指导老师聂存云、刘光辉
审批聂存云
任务书下达日期2014年12月1日
任务完成日期2014年12月16日
设计内容与设计要求
1.设计内容:
为了模拟碟式刹车的热特性(见下图)D.A.Secrist和R.W.Hornbeck[SA]需要根据下面的方程求制动片的“区平均排列温度”T的数值近值
T=
其中,
为蹄片与制动轮接点的外半径其值给定为0.478ft,
代表蹄片与制动轮的接点开始的半径其值给定为0.308ft,
代表扇形制动片所对的角度其值给定为0.7051弧度,T(r)是制动片上每一点的温度(根据从树枝上分析热方程而得到(见12.2节)。
)假设下表中给出的温度是在制动轮商定不同的计算出来的。
求T的近似值。
r(ft)
T(r)(
F)
r(ft)
T(r)(
F)
0.308
640
0.410
1114
0.325
794
0.427
1152
0.342
885
0.444
1204
0.359
943
0.461
1222
0.376
1034
0.478
1239
0.393
1064
2.设计要求:
●课程设计报告正文内容
a.问题的描述及算法设计;
b.算法的流程图(要求画出模块图);
c.算法的理论依据及其推导;
d.相关的数值结果(通过程序调试),;
e.数值计算结果的分析;
f.附件(所有程序的原代码,要求对程序写出必要的注释)。
●书写格式
a.要求用A4纸打印成册
b.正文格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
c.正文的内容:
正文总字数要求在3000字左右(不含程序原代码)。
d.封面格式如下页。
●考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。
具体考核标准包含以下几个部分:
a.平时出勤(占10%)
b.系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)
c.程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)
d.设计报告(占30%)
注意:
不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
e.独立完成情况(占10%)。
●课程验收要求
a.判定算法设计的合理性,运行相关程序,获得正确的数值结果。
b.回答有关问题。
c.提交课程设计报告。
d.提交软盘(源程序、设计报告文档)。
e.依内容的创新程度,完善程序情况及对程序讲解情况打分。
封面…………………………………………………………1
任务书……………………………………………………3
目录…………………………………………………………6
摘要…………………………………………………………7
问题提出……………………………………………………7
问题分析……………………………………………………8
程序代码……………………………………………………9
程序界面……………………………………………………10
程序结果……………………………………………………12
心得…………………………………………………………13
课程设计评分表……………………………………………14
摘要
本题考虑碟式刹车制动片上的“区平均排列温度”T的数值近似值。
分析题中所给T的表达式,我们的分子和分母都分别采用Romberg方法然后再分子比分母。
即得出要求的T。
按此,我们得出T为1000多,与题中所给数据相差不大,固,此课题设计是成功的。
问题的提出
为了模拟碟式刹车的热特性(见下图)D.A.Secrist和R.W.Hornbeck[SA]需要根据下面的方程求制动片的“区平均排列温度”T的数值近值
T=
其中,
为蹄片与制动轮接点的外半径其值给定为0.478ft,
代表蹄片与制动轮的接点开始的半径其值给定为0.308ft,
代表扇形制动片所对的角度其值给定为0.7051弧度,T(r)是制动片上每一点的温度(根据从树枝上分析热方程而得到(见12.2节)。
)假设下表中给出的温度是在制动轮商定不同的计算出来的。
求T的近似值。
r(ft)
T(r)(
F)
r(ft)
T(r)(
F)
0.308
640
0.410
1114
0.325
794
0.427
1152
0.342
885
0.444
1204
0.359
943
0.461
1222
0.376
1034
0.478
1239
0.393
1064
问题的分析
1、由
T=
其中,
为蹄片与制动轮接点的外半径其值给定为0.478ft,
代表蹄片与制动轮的接点开始的半径其值给定为0.308ft,
代表扇形制动片所对的角度其值给定为0.7051弧度,T(r)是制动片上每一点的温度题中未直接给出,于是,第一步,我们要找出T(r)的表达式。
依据所给T(r)与r(ft)的数据利用Matlab对其进行分析,得出图像(下图),猜测T(r)与r(ft)可能是抛物线关系。
我们再次利用Matlab根据此图像来拟合一个函数,即T(r)与r(ft)的关系表达式:
T(r)=1.0e+004*((-1.7543)*r^2+1.7084*r-0.2927
将元数据代入所得表达式,数据基本符合。
故拟合出来的方程可用。
2、观察T表达式的特点,可将它视为2部分,分子和分母都可利用数值积分的知识来解决。
我们采用采用Romberg求积公式,
Romberg法
程序代码:
1.对数据的分析(Matlab):
x=[0.308:
0.017:
0.478];
y=[6407948859431034106411141152120412221239];
n=1;
form=1:
length(y)
ifabs(y(m))>=2
x1(n)=x(m);
y1(n)=y(m);
n=n+1;
end
end
plot(x,y,x1,y1,'*')
2.用Matalab的protfiy拟合T(r):
x=0.308:
0.017:
0.478;
>>y=[6407948859431034106411141152120412221239];
>>A=polyfit(x,y,2)
3.Romberg方法(分别求分子与分母):
#include
#include
#definetrue1
#definefalse0
#definepi3.14159
main()
{
doubleR[2][15];
doubleA,B,H,X,SUM;
intI,J,K,L,M,N,OK;
doubleF(double);
voidINPUT(int*,double*,double*,int*);
INPUT(&OK,&A,&B,&N);
/*STEP1*/
if(OK){
H=(B-A);
R[0][0]=(F(A)+F(B))/2.0*H;
/*STEP2*/
printf("InitialData:
\n");
printf("Limitsofintegration=[%12.8f,%12.8f]\n",A,B);
printf("Numberofrows=%3d\n",N);
printf("\nRombergIntegrationTable:
\n");
printf("\n%12.8f\n\n",R[0][0]);
/*STEP3*/
for(I=2;I<=N;I++){
/*STEP4*/
/*approximationfromTrapezoidalmethod*/
SUM=0.0;
M=exp((I-2)*log(2.0))+0.5;
for(K=1;K<=M;K++)SUM=SUM+F(A+(K-0.5)*H);
R[1][0]=(R[0][0]+H*SUM)/2.0;
/*STEP5*/
/*extrapolation*/
for(J=2;J<=I;J++){
L=exp(2*(J-1)*log(2.0))+0.5;
R[1][J-1]=R[1][J-2]+(R[1][J-2]-R[0][J-2])/(L-1.0);
}
/*STEP6*/
for(K=1;K<=I;K++)printf("%11.8f",R[1][K-1]);
printf("\n\n");
/*STEP7*/
H=H/2.0;
/*sinceonlytworowsarekeptinstorage,thisstep*/
/*istoprepareforthenextrow*/
/*updaterow1ofR*/
/*STEP8*/
for(J=1;J<=I;J++)R[0][J-1]=R[1][J-1];
}
}
/*STEP9*/
return0;
}
/*ChangefunctionFforanewproblem*/
doubleF(doubler)
{
doublef1,f2;
f1=1.0e+004*((-1.7543)*r*r+1.7084*r-0.2927);
f2=0.7051*r*f1;
returnf2;
}
voidINPUT(int*OK,double*A,double*B,int*N)
{
charAA;
printf("ThisisRombergintegration.\n\n");
printf("HasthefunctionFbeencreatedintheprogramimmediatelypreceding\n");
printf("theINPUTfunction?
\n");
printf("EnterYorN\n");
scanf("%c",&AA);
if((AA=='Y')||(AA=='y')){
*OK=false;
while(!
(*OK)){
printf("Inputlowerlimitofintegrationand");
printf("upperlimitofintegration\n");
printf("separatedbyablank\n");
scanf("%lf%lf",A,B);
if(*A>*B)printf("Lowerlimitmustbelessthanupperlimit\n");
else*OK=true;
}
*OK=false;
while(!
(*OK)){
printf("Inputnumberofrows-nodecimalpoint\n");
scanf("%d",N);
if(*N>0)*OK=true;
elseprintf("Numbermustbeapositiveinteger\n");
}
}
else{
printf("TheprogramwillendsothatthefunctionFcanbecreated\n");
*OK=false;
}
}
程序界面:
1、拟合出来的T(r)的各项系数的Matlab界面:
2、分母的运行界面:
3、分子的运行界面:
根据问题以及程序,我们可以知道
程序结果:
分母最终得出的近似值为:
0.0471003,分子得出的近似值为:
49.72018656.
可见,T的近似值为:
T=49.72018656/0.0471003=1.05562356*10^3.
课程设计心得:
为期两个星期的课程设计结束了,开始的时候我以为很难,一直不敢做,后来到了第二周,不得不做的时候终于静下心来查阅相关书籍,理清了思路,最后发现,我还是缺了点自信,其实题目并没有很难是我自己被自己吓到了。
此课题主要运用了Romberg积分的知识,做完此课题,又加深了对Romberg积分的理解。
理学院课程设计评分表
课程名称:
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 课程设计