毕业设计MatlabWEB应用.docx
《毕业设计MatlabWEB应用.docx》由会员分享,可在线阅读,更多相关《毕业设计MatlabWEB应用.docx(63页珍藏版)》请在冰豆网上搜索。
毕业设计MatlabWEB应用
本科生毕业设计(论文)
(2009届)
理学院
题目:
学生姓名:
学号:
专业名称:
班级:
指导教师姓名:
学科:
职称:
年月
基于生态学习观的管理运筹学网站设计与开发
摘要:
在互联网已经成熟应用的今天,网站的建设对实现资源共享,信息传播起到重要的作用。
为了让用户更好的处理和解决各种多规划的问题,扩展网站的功能显的刻不容缓。
在基于B/S(Browser/Server结构)结构的情况下,赋予网站处理实际应用程序的功能。
能更好的调试处理程序,从而更有效的发布信息和处理事件的能力。
MatLab(MATrixLABoratory)有各种处理数算法,矩阵的优势。
开扩MatLab在Web项目下的应用,让用户发布自己的M文件,服务器提供让用户在线调试的扩展功能,同时为了人性化的需求以及数据的存储的高效性,安全性。
涉及到数据库(MicrosoftSQLServer2000)、JS(JavaScript)脚本、CSS(CascadingStyleSheets层叠样式表)样式和ASP.NET方面的技术。
利用C#(C-basedObjectOrientedLanguage)语言在MicrosoftVisualStudio2008结合MicrosoftSQLServer2000设计与开发,扩展使用MatLab提供的MatLabServer接口来实现大部分的功能需求。
关键字:
B/S;MatLab;数据库(SQL);ASP.NET;脚本(JS)
Abstract:
AlreadyismatureintheInternetapplicationtoday,thewebsiteconstructiontorealizesresourcessharing,theinformationdisseminatesthevitalrole.Inordertoletauserbetterprocessingandsolveseachkindofplanproblem,expandsurgencywhichthewebsitethefunctionreveals.InbasedonB/S(theBrowser/srverstructure)inthestructuresituation,entrustswiththewebsiteprocessingpracticalapplicationprocedurethefunction.Canthebetterdebuggingdisposalprocedure,thusmoreeffectiveissueinformationandprocessingeventability.
MatLab(MATrixLABoratory)haseachkindofprocessingtocalculatethelaw,thematrixsuperiority.OpenstoexpandMatLabundertheWebprojectapplication,letstheuserissueownMdocument,theserverprovidesletstheuseronlinedebuggingtheexpansionfunction,simultaneouslyforuserfriendlydemandaswellasdatamemoryhighlyeffective,security.Involvestothedatabase(MicrosoftSQLServer2000),theJS(JavaScript)script,CSS(CascadingStyleSheetscascadingstyletable)thestyleandASP.NET.Aspecttechnology.
(C-basedObjectOrientedLanguage)thelanguage2008unifiesMicrosoftSQLusingC#inMicrosoftVisualStudiotheServer2000designsandthedevelopment,theexpansionusestheMatLabServerconnectionwhichMatLabprovidestorealizethemajorityoffunctiondemand.(C-basedObjectOrientedLanguage)thelanguage2008unifiesMicrosoftSQLusingC#inMicrosoftVisualStudiotheServer2000designsandthedevelopment,theexpansionusestheMatLabServerconnectionwhichMatLabprovidestorealizethemajorityoffunctiondemand.
KeyWords:
B/S;MatLab;DataBase(SQL);ASP.NET;Script(JS)
1引言…………………………………………………………………………………………………………(4)
2网站组成要件概诉…………………………………………………………………………………………(5)
2.1MatLab简介…………………………………………………………………………………………(5)
2.1.1MatLab背景……………………………………………………………………………………(5)
2.1.2MatLab优势……………………………………………………………………………………(5)
2.1.3MatLab的Web应用……………………………………………………………………………(6)
2.2ASP.NET简介………………………………………………………………………………………(7)
2.2.1.NET……………………………………………………………………………………………(7)
2.2.2MicrosoftVisualStudio……………………………………………………………………(7)
2.3SQL简介……………………………………………………………………………………………(7)
2.3.1SQLServer……………………………………………………………………………………(7)
2.4其他要素……………………………………………………………………………………………(8)
2.4.1JS………………………………………………………………………………………………(8)
2.4.2CSS………………………………………………………………………………………………(8)
2.4.3XML………………………………………………………………………………………………(9)
3需求分析及其数据库的设计………………………………………………………………………………(9)
3.1需求分析……………………………………………………………………………………………(9)
3.2数据库的设计与实现………………………………………………………………………………(10)
4网站设计与实现的技术要点……………………………………………………………………………(14)
4.1基本要点……………………………………………………………………………………………(14)
4.1.1WebConfig配置文件…………………………………………………………………………(14)
4.1.2HTMLXMLASPX的区别及其应用……………………………………………………………(15)
4.1.3URL的重写和伪静态技术……………………………………………………………………(16)
4.1.4Session、ViewState、Application………………………………………………………(17)
4.1.5传值……………………………………………………………………………………………(18)
4.2AJAX
4.2.1AJAX简介……………………………………………………………………………………(18)
4.2.2AJAX几种应用方式…………………………………………………………………………(18)
4.3数据库基本使用方式………………………………………………………………………………(20)
4.3.1数据读取方式…………………………………………………………………………………(20)
4.3.2数据库的操作…………………………………………………………………………………(21)
4.4对服务器文件的操作………………………………………………………………………………(22)
4.4.1文件的复制……………………………………………………………………………………(23)
4.4.2文件的删除……………………………………………………………………………………(24)
4.4.3文档的编写……………………………………………………………………………………(25)
5网站具体的页面实现案例………………………………………………………………………………(25)
5.1Base.cs类…………………………………………………………………………………………(25)
5.2AspxToHtml.cs类…………………………………………………………………………………(27)
5.3注册页面……………………………………………………………………………………………(28)
5.4文章的发布页………………………………………………………………………………………(29)
5.5MatLab调试页面…………………………………………………………………………………(29)
6网站的结论以及不足……………………………………………………………………………………(30)
论文正文
1引言
运筹学是一门寻求在给定资源条件下,如何设计和运行一个系统的科学决策的方法,是人类对各种广义资源的运用及筹划活动的一门新兴学科,目前,运筹学是既是管理科学的一个重要组成部分,又是数学、计算机等学科的重要分支,它是现代管理科学中的一种基础理论和不可缺少的方法、手段和工具;也是抽象的数学理论和丰富多彩的实践相结合的“桥梁”,它为从事生产社会实践和应用科学研究的工作人员提供了完整的数学方法,也为从事数学等理论研究的科研人员提供了广阔的应用领域,运筹学的广泛应用使得数学理论方法和生产社会实践在深度和广度上达到了“双赢”的效果。
为此这次的课题任务是如何建设一个管理运筹学网站,让用户发布自己的管理运筹学文章,资源以达到共享的目的。
同时让利用MatLab让用户能自主的测试自己编写的M文件。
在建设网站的过程中为了减少服务器的压力,需要将动态页面转换静态页面,同时不可少的重写URL方面用户搜索和访问。
做为一个网站还需要提供用户之间的相互交流,那么就需要解决以下几个问题,多样化的交流方式,如留言、评论、消息等。
同时不可避免的提供日常信息的显示查询功能。
为了增加让用户方便使用,还必须提供后台管理,让用户随时操作自己的资源文件。
那么,当目标确定后,我们所要面对的问题如何是设计一个数据库以及逻辑结构来承载这一切的需求。
同时为了提高开发的质量和效率,必不可少的使用一些主流的插件和代码。
而如何筛选和再次利用这些插件和代码将成为解决的一个方面。
在整个项目过程,利用C#结合MicrosoftVisualStudio2008完成主要的页面制作,数据库的交互,以及扩展IIS使用CGI达到MatLab的接口访问。
为提高页面的重用,分析修改逻辑结构合理充分的利用页面,大量使用脚本和样式提高页面的显示效果。
增加后台数据与用户的交互。
2网站组成要件概诉
2.1MatLab简介
2.1.1MatLab背景
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
2.1.2MatLab的优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
2.1.3MatLab的Web应用
MatlabWebServer组件包括matlabserver.exe、matweb.exe和两个配置文件matlabserver.conf、matweb.conf。
MatLabServer.exe是采用TCP/iP协议传输的数据的接口。
客户端通过Web浏览器发送请求,MatLabServer服务器接收数据并将数据返回到客户端,在浏览器上给予显示。
同时matlabserver管理Web应用和Matlab之间的通信,它运行输入HTML文档内的隐藏域mlmfile的值指定的M文件(当然也可以传递参数,参数名为mlmfile),再由它来执行这个M文件.matlabserver可以侦听任何一个合法的TCP/IP端口,不过要配置matlabserver.conf文件,并且在该文件中还可以设置开启多少个连接。
Matweb是matlabserver的一个客户端应用,利用CGI把HTML的输入数据传送给matlabserver;
根据MatLab提供的这种应用方式,利用CGI方式将数据传递给MatWeb.exe。
2.2ASP.NET简介
2.2.1.NET
Microsoft.NET是MicrosoftXMLWebservices平台。
XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
Microsoft.NET平台提供创建XMLWebservices并将这些服务集成在一起之所需。
WebServices是.NET的核心技术。
正如Web是新一代的用户与应用交互的途径,XML是新一代的程序之间通讯的途径一样,WebServices是新一代的计算机与计算机之间一种通用的数据传输格式,可让不同运算系统更容易进行数据交换。
WebServices有以下几点特性:
Webservices允许应用之间共享数据;Webservices分散了代码单元;基于XML这种internet数据交换的通用语言,实现了跨平台、跨操作系统、跨语言。
那微软的ASP和Webservices究竟有什么不同呢,ASP仍然是一个集中式计算模型的产物,只不过是披着一层互联网的外衣。
但WebServices却是一个迥然不同的精灵,它秉承“软件就是服务”的真言,同时顺应分布式计算模式的潮流。
而它的存在形式又与以往软件不同。
这种组件模式,小巧、单一,对于开发人员来讲,开发成本较低。
在这里指出Webservices不是微软发明的,同样也不属于微软专有。
Webservices是一个开放的标准,和HTTP、XML、SOAP一样。
他们是一个工业标准而非微软标准,WS-I是为了促进WebServices互通性的联盟组织,最初是由IBM和微软所发起,其它的成员包括BEASystem、惠普计算机(HP)、甲骨文(Oracle)、英特尔(Intel)和SUN计算机(SunMicrosystem)。
如今网络上存在的大多Webservices其实没有使用.NET构架,Webservices具有互操作属性,你同样可以使用Windows开发客户端来调用运行于Linux上面的Webservices的方法。
2.2.2MicrosoftVisualStudio
VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
2002年,随着.NET口号的提出与WindowsXP/OfficeXP的发布,微软发布了VisualStudio.NET
同时微软引入了建立在.NET框架上的托管代码机制以及一门新的语言C#。
C#是一门建立在C++和Java基础上的现代语言,是编写.NET框架的语言。
.NET的通用语言框架机制(CommonLanguageRuntime,CLR),其目的是在同一个项目中支持不同的语言所开发的组件。
所有CLR支持的代码都会被解释成为CLR可执行的机器代码然后运行。
2005年,微软发布了VisualStudio2005。
.NET字眼从各种语言的名字中被抹去,但是这个版本的VisualStudio仍然还是面向.NET框架的。
2.3SQL简介
2.3.1SQLServer
SQL全称是“结构化查询语言(StructuredQueryLanguage)”
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Selec