数值分析课程设计报告(3)

2019-01-07 12:23

《数值分析》课程设计报告

表3.2 代数插值法设置ID和关联变量

添加的控件 ID号 变量类型 Int Cstring Cstring double Cstring 变量名 m_edit1 m_edit2 m_edit3 m_edit4 m_edit5 计算 清空 返回 标题 编辑框(节点个数) IDC_edit1 编辑框(节点) IDC_edit2 编辑框(函数值) IDC_edit3 编辑框(插值点) IDC_edit4 编辑框(计算结果) IDC_edit5 按钮 按钮 按钮 IDC_BUTTON1 IDC_BUTTON2 IDC_BUTTON3 用户可以输入插值的节点和个数来计算自己的插值函数(见图3.2),拉格朗日插值计算结果见图3.2,牛顿插值结果见图3.3。相关代码见附录。

3.1.3非线性方程求根计算模块

界面设置见图3.4:

登录后界面的控件ID和关联变量、标题设置见表3.3:

图3.4 二分法计算界面

11

《数值分析》课程设计报告

图3.5牛顿迭代法计算界面

用户可以输入所用方法所需的参数来计算自己的非线性方程的根(见图3.4),其中,二分法计算结果见图3.4,牛顿迭代法计算结果见图3.5。相关代码见附录。

表3.3线性方程求根设置ID和关联变量

添加的控件 编辑框(最高次幂) ID号 IDC_edit1 变量类型 Int double double double double double Cstring Cstring 变量名 m_edit1 m_edit2 m_edit3 m_edit4 m_edit5 m_edit6 m_edit7 m_edit8 计算 清空 返回 标题 编辑框(区间左端点) IDC_edit2 编辑框(区间右端点) IDC_edit3 编辑框(二分法精度) IDC_edit4 编辑框(初始值) 编辑框(方程系数) 编辑框(计算结果) 按钮 按钮 按钮 12

IDC_edit5 IDC_edit7 IDC_edit8 IDC_BUTTON1 IDC_BUTTON2 IDC_BUTTON3 编辑框(牛顿法精度) IDC_edit6

《数值分析》课程设计报告

总结

这次数值分析课程设计为我们提供了与众不同的学习方法和学习机会,让我们从传统的被动授学转变为主动求学;从死记硬背的模式中脱离出来,转变为在实践中学习,增强了领悟、创新和推断的能力。掌握自学的方法,形成工程理论整体模式,使工作、学习、生活都步入系统化流程;思考方式成熟,逻辑性规范、明确。这些方法的提高是终身受益的,我认为这难得的一周,让我真正懂得了生活和学习的基本规律。作为一名大三的学生,我觉得能做类似的课程设计是十分有意义,而且是十分必要的。在已度过的大三的时间里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何去锻炼我们的实践面?如何把我们所学到的专业基础理论知识用到实践中去呢?我想做类似的大作业就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当数查阅大量的书籍了。为了让自己的设计更加完善,更加符合软件工程标准,一次次翻阅各种参考资料是十分必要的,同时也是必不可少的。作为一名学生掌握一门或几门程序设计语言是必不可少的,由于本次课程设计要求用MFC进行开发,在这过程中我对各种的开发环境进行了探索,其中有VB,C++,java等,这使我对MFC的集成开发环境有了更深刻的理解虽然去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率好高,记得大一学C语言好难就是因为我们没有把自己放在使用者的角度,单单是为了学而学,这样效率当然不会高。边学边用这样才会提高效率,这是我作本次课程设计的第二大收获。但是由于水平有限,难免会有错误,还望老师批评指正。

13

《数值分析》课程设计报告

参 考 文 献

[1] 马昌凤. 《现代数值分析(MATLAB版)》 国防工业出版社, 2013.

[2] 欧阳志宏,董霖,钟俊华.MFC程序设计轻松入门.北京:人民邮电出版社,2009 [3]郁永彦,王志坚,Visual C++程序设计实用案例教程.北京大学出版社,2010

14

《数值分析》课程设计报告

附 录

登陆界面部分代码

进入按钮代码:

void CMyDlg::OnButton1() {

// TODO: Add your control notification handler code here CDialog::OnOK(); fancan1 f1; f1.DoModal(); }

void CMyDlg::OnButton2() {

// TODO: Add your control notification handler code here CDialog::OnOK(); fancan2 f2; f2.DoModal(); }

各算法代码:

拉格朗日插值和牛顿插值算法代码: void fancan1::OnButton1() {

// TODO: Add your control notification handler code here UpdateData(TRUE); CString str_sel;

m_chazhi.GetWindowText(str_sel); double *a,*b,z;

a=(double*)malloc(edit1 * sizeof(double)); b=(double*)malloc(edit1 * sizeof(double)); a=fancan1::change(edit1,edit2); b=fancan1::change(edit1,edit3); if(str_sel==\牛顿插值法\ z=niudun(a,b,edit1,edit4); else z=Lagrange(a,b,edit4,edit1);

edit5.Format (\ UpdateData(false); }

double * fancan1::change(int n, CString str)

15


数值分析课程设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:应用电化学练习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: