ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:1.53MB ,
资源ID:1909367      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1909367.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值分析课程设计说明书.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值分析课程设计说明书.docx

1、数值分析课程设计说明书 数值分析课程设计说明书班级: 计算B092 姓名: 设计题目: 数值积分软件 设计时间: 2012.2.27 至 2012.3.2 指导教师: 李 慧 评 语: _评阅成绩: 评阅教师: 设计总说明数值积分是求定积分的近似值的数值方法。即用被积函数的有限个抽样值的离散或加权平均近似值代替定积分的值。求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的牛顿-莱布尼兹公式计算定积分的机会是不多的。另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解。由于以上原因,数值积分

2、的理论与方法一直是计算数学研究的基本课题。对微积分学做出杰出贡献的数学大师,如I.牛顿、L.欧拉、C.F.高斯等人也在数值积分这个领域做出了各自的贡献,并奠定了它的理论基础。用数值积分的计算理论加以C+语言编写程序来计算数值积分,不仅可以更好的掌握数值积分本身,还可以提高软件开发的能力。把所学知识用于实际生活中是非常有必要的。好的积分软件不仅可以计算出给定函数的定积分,还能准确的计算出各种积分方法的积分值。因此,数值积分软件的开发是非常实用及有必要的。关键词: 龙贝格算法;自适应梯形法;复化辛卜生法;MFC 前 言本课程设计是在学习了数值分析和C语言等有关课程后,通过实际的操作来熟悉数值分析和

3、相关软件的应用,培养独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。好的数值积分软件可以方便的为我们求解出积分值。课程设计,着重培养的是学生的自学能力,以及独立分析互联网上和图书馆里的各种资料,用来丰富自己的知识并且提高对Matlab、VC+等软件的实际操作能力。通过这次的课程设计,使我们对已经学习过的数值分析课程的进一步的掌握,对知识进行最大程度的消化融汇。因此这次的课程设计对我们来说具有非常重要的作用:为以后学习工作做必要的准备和实践,提高自身对数值分析的认识以及软件开发的能力。第1章 总体设计方案1.1 软件结构设计图1.1.1 软件功能结构图第2章 算法分析及设计2.1自适

4、应梯形法2.1.1自适应梯形法算法分析:变步长梯形算法依据公式。计算时可按如下步骤:输入精度;s=0;1 2 3 4 。2.1.2自适应梯形法算法设计:float AutoTrap(float (*f)(float),float a,float b) int i; float x,s,h=b-a; float t1,t2=h/2.0*(f(a)+f(b); n=1; do s=0.0; t1=t2; for(i=0;i1e-6); return t2;2.2复化辛卜生法2.2.1复化辛卜生法算法分析复化辛卜生公式为,计算过程为:令;对计算。2.2.2复化辛卜生法算法设计float Simpso

5、n(float (*f)(float),float a,float b, int n) int k; float s,s1,s2=0.0; float h=(b-a)/n; s1=f(a+h/2); for(k=1;k=n-1;k+) s1+=f(a+k*h+h/2); s2+=f(a+k*h); s=h/6*(f(a)+4*s1+2*s2+f(b); return s;2.3龙贝格算法2.3.1龙贝格算法分析 2.3.2龙贝格算法设计float Romberg(float a,float b,float (*f)(float),float epsilon) int n=1,k; float

6、h=b-a,x,temp; float T1,T2,S1,S2,C1,C2,R1,R2; T1=(b-a)/2*(*f)(a)+(*f)(b); while(1) temp=0; for(k=0;k=n-1;k+) x=a+k*h+h/2; temp+=(*f)(x); T2=(T1+temp*h)/2; if(fabs(T2-T1)epsilon) return T2; S2=T2+(T2-T1)/3.0; if(n=1)T1=T2;S1=S2;h/=2;n*=2;continue; C2=S2+(S2-S1)/15; if(n=2)C1=C2;T1=T2;S1=S2;h/=2;n*=2;c

7、ontinue; R2=C2+(C2-C1)/63; if(n=4)R1=R2;C1=C2;T1=T2;S1=S2;h/=2;n*=2;continue; if(fabs(R2-R1)epsilon) return R2; R1=R2;C1=C2;T1=T2;S1=S2;h/=2;n*=2; 第3章 软件详细设计3.1主界面设计数值积分软件主界面如图3.1.1所示,包括两大功能。一个是选择求积方法,另一个是查看相应算法的算法理论。为了使软件美观,还可以为软件添加背景图片以及显示系统时间,这样就使软件显得不再单调。图3.1.1 主界面添加背景图片关键代码:void CAutoTrap:OnPai

8、nt() CPaintDC dc(this); / device context for paintingCRect rect;GetClientRect(&rect);CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP2); BITMAP bitmap;bmpBackground.GetBitmap(&bitmap);CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(

9、0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);显示时间代码:void CMyDlg:OnTimer(UINT nIDEvent) CDialog:OnTimer(nIDEvent); CString str; CTime theTime = CTime:GetCurrentTime(); str.Format(%02d年%02d月%02d日 %02d:%02d:%02d, theTime.GetYear(),theTime.GetMonth(),theTime.GetDay()

10、, theTime.GetHour(),theTime.GetMinute(),theTime.GetSecond(); SetDlgItemText(IDC_STATIC_TIME,str); CDialog:OnTimer(nIDEvent);3.2功能设计3.2.1自适应梯形法的实现通过类向导为控件赋值,从界面获取上下界以及精度值,从而进行计算,将结果显示在对应框。若输入错误的数据将进行错误提示。为了美观,以相同方法添加背景图片。图3.2.1 自适应梯形法 图3.2.2积分区间错误提示 图3.2.3精度值错误提示关键代码:(1) 错误检查及提示代码:if(m_xiajie=m_shang

11、jie) MessageBox(积分区间错误!); return; if(m_epsilon=0) MessageBox(精度值有误!); return; 3.2.2复化辛卜生法的实现同样,通过类向导为控件赋值,从界面获取上下界、划分区间及运算次数,从而进行计算,将结果显示在列表框。若输入错误的数据将进行错误提示。图3.2.4 复化辛卜生法图3.2.5 错误提示关键代码:(1) 列表框表头初始化代码:BOOL CSimpson:OnInitDialog() Cdialog:OnInitDialog(); / TODO: Add extra initialization here m_combo

12、.SetCurSel(0); m_List1.SetExtendedStyle(LVS_EX_FLATSB |LVS_EX_FULLROWSELECT |LVS_EX_HEADERDRAGDROP |LVS_EX_ONECLICKACTIVATE |LVS_EX_GRIDLINES); m_List1.InsertColumn(0,”sn”, LVCFMT_LEFT, 80); m_List1.InsertColumn(1,”值”, LVCFMT_LEFT, 140); return TRUE; / return TRUE unless you set the focus to a contr

13、ol / EXCEPTION: OCX Property Pages should return FALSE(2) 结果显示代码:for(int j=0;jm_cishu;j+) if(index=0) s=Simpson(f7,m_xiajie,m_shangjie,n); if(index=1) s=Simpson(f8,m_xiajie,m_shangjie,n); if(index=2) s=Simpson(f9,m_xiajie,m_shangjie,n); p.Format(%d,n); p=s+p+; q.Format(%f,s); m_List1.InsertItem(j,); m_List1.SetItemText(j,0,p); m_List1.SetItemText(j,1,q); n*=2; 3.2.3龙贝格算法的实现同样,通过类向导为控件赋值,从界面获取上下界及精度值。单机计算按钮,即可将结果显示在结果框。单机返回按钮,返回主界面。若输入错误的数据将进行错误提示。图3.2.6 龙贝格算法3.2.4算法简介功能设计算法简介功能就是对每种算法的简单介绍,单机相应按钮就可以查看。图3.2.7 自适应梯形法简介

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

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