VC++科学计算器的设计V1_4Beta.rar

所需积分/C币:29 2010-03-23 04:54:59 110KB APPLICATION/X-RAR
84
收藏 收藏
举报

VC++科学计算器的设计V1_4Beta.rar VC++科学计算器的设计V1_4Beta.rar ================================================ VC++科学计算器的设计 ~迷你版伪MATLAB的内核实现~ 摘要 本文阐述了利用Visual C++软件实现一个类MATLAB的功能强大的科学计算器内核的一般实现原理,包括设计目标相关问题探讨、算法分析、各功能子模块设计、用户实现接口定义等软件工程开发中的主要步骤,着重解答内核实现中所要遇到的各种技术难题,对于相关的各方面的程序设计人员相信具有深远的启迪意义。 摘要:迷你版伪MATLAB、表达式计算器、内核实现算法、子模块功能实现 正文 一、 问题引入 1.1 关于计算器的发展历史 对数据的运算与处理是贯彻人类文明与历史的一个永恒的话题,从远古时代开始,我们的祖先就借助算盘等简单的工具进行数学计算,此后机械式计算器日益蓬勃地发展起来。自1946年世界上第一台电子计算机ENIAC诞生以来,人类历史进入了全球信息化的新时代。随着人们日益频繁的信息交流,对大量数据的运算与处理的提出了更为复杂的要求。现代计算机所提供的功能日益强大,但是其核心功能仍然是对内存数据区的用户数据的某种运算,计算作为计算机中最本质的功能仍然是无可改变的。计算机提供的进行数据运算的人机操作接口通常称为计算器。 1.2 通常计算器按照用户使用方式可以分为两类: (1)按键式计算器。如下是WindowsXP系统自带的计算器运行界面: 图1 (2)表达式(文本式)计算器。如下是一个最简化的表达式计算器运行界面: 图2 可以看到这两类计算器运行界面与操作方式完全不同:按键式计算器需要安排很多按键,界面非常复杂;而表达式计算器则几乎没有按键,只需要一个输入文本框与输出文本框即可。事实上,它们的差异更多的是体现在实现内核上。笔者认为一个文本式计算器较之按键式计算器拥有更大的优势,至少在以下方面: [1]表达式计算器用户界面较之按键式计算器简洁得多,用户更容易使用。 [2]按键式计算器操作顺序必须由用户自行指定,不具备表达式动态解释执行的特征。[3]按键式计算器运算对象较为简单,难以扩充至矩阵运算。 (读者曾见过可以计算svd、det、eig的此类计算器么?想象不能!) [4] 按键式计算器只支持部分已给出的少量函数,用户难以实现扩充自定义函数。 [5] 按键式计算器极难与其它高级程序语言、应用程序进行混合编程与数据交换。 (试想象MATLAB、Maple等软件采用此种方式的情形!) [6]即使只对于基本的整数、浮点数,按键式运算能力亦极为有限。如最简单的: A=rand(),B=rand(),C= ,都无法实现,因为通常只有一个开放的寄存器。 [7] 按键式计算器实现起来非常容易(应算作其优点吧?!),无编程开发价值! 因此,本文计划用Microsoft Visual C++ 设计实现一个文本式计算器。事实上,网络上有许多现成的程序或者源码可以下载。一个有价值及实现意义的程序必须应该具有其他程序所不具有的自身的特殊优点,否则如果一味的参照别人的模式依葫芦画瓢照搬,并无新意可言。事实上,目前网上现存的类似功能的程序也就能计算简单数据类型的基本四则运算,间或能够实现少许函数功能,功能极度简单。这里我们期望实现一个像MATLAB等软件那样的具有相当强大功能的计算工具! 1.3 MATLAB等软件的简介及优缺点 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 当前面向矩阵运算的数学工具软件另外还有:Maple、Mathematica、Scilab、MatCom、MATFOR等。众所周知,MATLAB拥有强大的矩阵运算能力,灵活多变的外部应用程序编程接口,作为矩阵数值运算的首选工具具有无可比拟的强大优势,但是其体积过于庞大,作为仿MATLAB的一个简化软件Scilab因此诞生。而在符号运算中表现卓越的Maple与Mathematica两个软件则只提供了对矩阵数值运算的弱支持,并且难以实现与外部应用程序的混合编程。MatCom与MATFOR则是提供了大量

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
VC++科学计算器的设计V1_4Beta.rar 29积分/C币 立即下载
1/0