当前位置:文档之家› 用Java模拟ATM系统

用Java模拟ATM系统

用Java模拟ATM系统
用Java模拟ATM系统

论文题目:

用Java语言模拟ATM系统

姓名:马士涛

准考证号:019508300

指导老师:杨占敏

用Java语言模拟ATM系统

摘要

21世纪是催人奋进的时代,科学技术飞速发展,金融业ATM取款机的诞生可以说是世界金融行业中的一大进步,更是其发展历史性的转折点。本文以实际提款机应用为背景,阐述了系统开发过程的开发方法、系统分析和一般步骤。

全文共分为ATM系统综述、ATM系统的开发方法、系统分析、系统设计、系统实现和系统维护与评价七个部分,利用JAVA语言强大功能,并具有面向对象开发等的特点,联系实际ATM应用界面,采用Eclipse开发工具,以winXP操作系统、Access为后台开发出了一套自动取款机系统,基本上实现了账户查询、修改密码、转账和取款等业务。

针对这一系列问题,我们利用JAVA语言在Eclipse下设计了这么一个系统,使得用户可以安全的进行操作,便捷,快速的进行取款以及完成一些商业上的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。

关键字:ATM Java Eclipse 计算机科学

目录

第一章 ATM系统综述 (3)

1.1 概述 (3)

1.2 ATM发展 (3)

1.3 ATM取款机系统的影响 (3)

第二章 ATM系统开发方法 (4)

2.1 方法概述 (4)

2.2 系统使用方法描述 (5)

第三章 ATM系统分析 (5)

3.1系统初步调查 (5)

3.2 系统可行性研究 (5)

3.3系统详细调查及提出 (6)

第四章系统设计 (8)

4.1系统总体结构设计 (8)

4.2系统详细设计 (10)

第五章系统实现 (15)

5.1软件开发环境 (15)

5.2 程序设计与调试 (15)

5.3试运行 (16)

第六章系统维护 (16)

第七章系统评价 (16)

第八章结束总结 (17)

附:参考资料和源代码部分

第一章ATM系统综述

1.1 概述

ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。ATM是英文Automatic Teller Machine的缩写。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。

同时在制作这个系统的过程中也应用了数据库的知识,这个相对于我们专业来说是比较重要的内容,这个也是这个学期学习的重点知识,同时数据库链接是必须要学会的,因为这个是最核心的内容,培养自己坚实的逻辑表达能力和沟通能力,和培养自己良好的文案能力。掌握ATM取款机的具体工作原理以及java简单系统的设计方法。

1.2 ATM的发展

众所周知随着信息时代科技的飞速发展和随着全球金融行业的兴起,使用ATM取款机、计算机信息技术以及计算机科学技术的发展,给人们的生活带来了天翻地覆的变化,同时这些技术在人们生活中的运用,随着科学技术的进步,经营方式的转变,处理信息系统的内容和形式也在发生变化。当前,以计算机和通信技术为基础的信息系统正处在蓬勃发展的时期,ATM取款系统可充分利用网络技术和数据库技术的发展,形成一种全新的运作方式。随着因特网的形成和发展,基于网络技术的信息系统除了它传统的功能外,实现了特定地方刷卡消费等。不仅提高了银行的业务处理能力,而且大大的节省了人们取钱所花费的时间和价值;并且在有效防止了一些非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越性。

虽然起步较晚,近几年发展却较快,优其是随着微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国信息处理的现代化起了重要的作用。ATM取款系统正在朝着自适应、自学习的方向发展,也就是更好的实现模拟人性化过程。

1.3 ATM取款机系统的影响

ATM取款机诞生可以说是世界金融行业的一大进步,也是历史性的转折点。ATM自动取款机不仅能提高了银行的业务处理能力,还能大大的节省人们取钱所花费的时间和价值;并且在有效防止了一些非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越

性。

ATM系统对金融业的变革产生了和正在产生着深远的影响。从现代金融业新概念来看,ATM系统就是电子信息技术在金融业金融管理的一种应用。它避免了对于用户的信息资料、以及资金统计等用人工办理。数据信息处理工作量大,繁琐,数据处理手工操作,工作量大,工作时需实时认真办理,一但出现错误将带来很大的损失。从而解决了用户信息和资金信息的繁杂问题,对于ATM取款系统数据的统计和核实等都是采用卡号进行核对的,进而实现了数据的准确性、完整性、及时性,避免了工作人员和管理员工作时间一长,再进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。

同时也得用户可以安全的进行操作,便捷,快速的进行取款以及完成一些商业上的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。

第二章 ATM系统开发方法

2.1 系统开发方法概述

软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。开发目标是在规定的投资和时间内,开发出符合用户需求的高质量的软件。任何系统均有其产生、发展、成熟、消亡或更新换代的过程。这个过程称为系统的生命周期。系统生命周期法提供的思路、逻辑、技能、工具与工作规范,是系统开发、处理管理信息系统建设中各类实际问题的重要基础,对复杂系统的建设具有重要的指导意义。系统开发是管理信息系统建设中工作任务最为繁重,也是最重要的一个阶段。从项目开发到结束的整个过程,称为系统开发的生命周期。系统开发的生命周期一般分为系统分析、系统设计和系统实施。

结构化生命周期法是一种面向数据流的开发方法。该方法简单实用、应用较广、技术成熟,方法的指导思想是自顶向下、逐步求精,基本原则是动能的分解与抽象,特别适合于数据处理领域的问题,随着开发项目规模的变化,该方法也就暴漏出了它的缺点:(1)对于规模大、特别复杂的项目不太适应(2)难于解决软件重用问题(3)难于适应需求变化问题,难于彻底解决维护问题。

到了90年代,主流的开发方法是面向对象的开发方法,它的基本出发点是尽可能的按照人类认识世界的方法和思维方式来分析和解决问题。面向对象方法支持软件重用和原型概念,提高了系统开发的效率,因而得到了ATM系统各计算机界的极大关注。该方法包括面向对象分析、面向对象设计、面向对象实现。

系统开发工作的自动化、计算机化是提高系统开发效率与质量的重要途径。计算机辅助软件工程(简记为CASE)也是当前信息系统领域和计算机应用领域的热门话题。CASE技

术的目标是实现系统开发生命周期内各阶段工作基于计算机的自动化。这将导致系统开发工作的根本变化。

2.2 该系统开发方法

比较各种开发方法的特点,结合银行取款系统的实际情况,整个系统采用结构化生命周期法,以原型法和面向对象的开发方法作为辅助,即系统总体上采用结构化生命周期法进行系统分析和系统设计,系统实施等步骤采用面向对象方法。本系统开发工具使用的是基于Java 的可扩展开发平台的Eclipse。

第三章系统分析

系统分析是管理系统开发的起始阶段,也是MIS开发工作中最重要的一环。系统分析阶段的主要活动有:系统初步调查、可行性研究、系统详细调查、新系统逻辑方案的提出。系统分析的目标是明确系统开发的目标和用户信息需求,提出系统的逻辑方案。为系统设计做好准备。

3.1 系统初步调查

系统的初步调查是系统分析阶段的第一项活动,也是系统开发的第一项活动,初步调查的主要目标是从系统分析人中和管理人员的角度看新系统开发有无必要和可能。

通过亲身体验总结各银行ATM提款机界面流程,得到本系统开发的主要流程界面(主要功能取款、转账、查询、修改密码等)。并决定亲自开发取款机系统,测试自己水平。

3.2 可行性研究

可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。实质上就是进行一次简化、压缩了的需求分析、设计过程。可从以下三个方面分析研究每种解决问题的可行性:

a.技术可行性:对项目的功能、性能、限制条件进行分析,确定在现有的资源条件下项目是否能实现。(开发的风险、资源的有效性、技术)

b.社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

c.经济可行性:进行开发成本的估算以及了解得到效益的评估,确定要开发项目是否值得投资开发。对银行业来说,是靠存款贷款之间的差额来生存的,所以要尽可能的拉拢更多的客户使用本行,ATM取款机是为了能让为客户更便捷的服务,从而更具有吸引力。银行角度出发还是非常还是愿意把一部分资金投入到这方面的。

3.3系统详细调查及提出

系统详细调查是在可行性研究的基础上进一步对现行系统进行全面、深入的调查和分析,弄清现行系统运行状况,发现其薄弱环节,确保新系统比原系统更有效。详细调查的重点在于对系统的内部情况更详细和具体的了解,从而可以提供在新系统建设时改进或更换的内容。

明确用户的信息需求,明确新系统的逻辑功能。主要工作是对用户需求进行进一步调查分析,创建新系统的逻辑模型。逻辑模型主要以数据流程图和数据典为主要描述工具。

通过仔细调查得以下功能图和业务流程图:

一般登陆模块只输入账号、密码,当然在实际应用中没有要求用户输入账号,这是因为在磁卡上有个感应区,编此模块时加上了验证码。

图3-1 功能图

该系统主要实现银行卡用户的存取款,以及进行一些简单的查询和转账业务,同时能够在系统里面进行客户密码的修改,实现简单的机器与客户交互。

图3-2 业务流程图:

第四章系统设计

系统设计阶段的主要目的是将系统分析所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基本计算机(ATM取款机)与通信系统的物理(技术)方案。

系统设计主要包括系统总体结构设计和详细设计。系统设计的依据主要有系统分析的成果、现行技术、用户需求、系统运行环境。

4.1 系统总体结构设计

系统总体结构是指整个系统由哪些部分组成,以及各部分在物理上、逻辑上的相互关系,包括硬件部分和软件部分,该设计包括:系统总体布局方案的确定、软件系统总体结构的设计、计算机硬件方案的选择和设计、数据存储的总体设计。根据业务流程图转化为软件的体系结构,进而用软件结构图建立物理模型,得系统活动图,如下:

图4-1系统结构图:

图4-2系统活动图:

4.2 系统详细设计

详细设计的实现根据结构程序设计原理,将每个模块的功能用相应的标准语句表示出来。包括代码设计、数据库设计、用户界面设计、处理过程设计。代码设计是指把系统管理对象数字化或字符化,便于计算机的处理。遵照代码设计的原则:合理性、简明性、系统性、稳定性、可扩充性、标准化、便于识别和记忆。

数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:

一、系统设置

图4-4 账户信息设计表

二、界面模块设置

用户界面设计目前已成为评价软件质量的一条重要指标,所谓用户界面是批软件系统与用户交互的接口,通常包括输入、输出设计、人机对话的界面设计。

图 4-5登录模块

当插入现金卡之后出现界面,系统出现选择中英文的登入方式,点击按钮之后(中文)出现后对话框:

图4-6输入界面

登录模块依然采用的是密码验证的方式,需要用户输入卡号、密码和验证码然后点击确认进行验证,程序将根据输入卡号查找密码,第一没有找到提示,找到继续下一步,在这里我用了验证码方式,输入正确继续,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。密码正确继续,否则当输入的次数达到三次时,系统将提示你与前台服务员取得联系。第二如果没有找到,提示输入账号错误。

图4-7首页设计

首页的设计主要是设计了查询余额、取款、转账、密码更改及退出按钮等ATM的一些标准操作界面。

图4-8查询模块

在此模块中,将通过用户所使用的账户编号来进行余额的查询,将显示账户的实际余额,点击“查询”按钮,通过按钮的Action方法进行方法调用,就可以实现查询的功能并把查询到的账户余额显示到界面上。当用户点击“返回”时,程序返回到初始主界面。

图4-9 查询卡信息模块

此功能用来显示持卡人的基本信息包括姓名、性别、身份证、卡号等,点击查询按钮后

系统将根据与输入的卡号相一致的字段信息,显示输出在该页面上。当点击取消按钮时系统将返回到初始主界面。

图4-10 修改密码模块

此模块需要用户输入旧密码后,两次输入新密码进行确认,然后,点击确定,修改密码,成功后给出提示信息,其中考虑到一些用户的输入错误问题,我做出了一些异常的判断和处理,空输入,输入两次新密码不匹配和原密码不正确等问题。修改更新密码的完成仍然依靠按钮控件的Action事件完成。

图4-11 转账业务模块

在此模块,用户根据需要自己输入卡号及欲转金额,这里的设计其实最终归结于具体的SQL语句而言,系统将根据输入的卡号查找与只对应的用户数据表,从而修改金额。第一,系统首先根据本卡号,查找本卡金额与输入的金额对比,如果找到,且金额允许就提示转账成功。第二,如果,没有找到输入的卡号,提示没有该用户,重新输入欲转账号。

图4-12 取款模块

取款模块是一个相对比较重要的模块,因为ATM机就要的功能就是取款业务,用户选择账户名点击取款金额然后点击取款进行取款操作,所以几个数字按钮的设计比较大,方便用户操作,其中一些提示信息也相应地给出,以防用户误操作。由于此模块不需要用户输入,所以没有对输入的异常处理。根据所查资料我所采用的SQL语句调用方法是预处理指令方法,这种方法对于处理此程序具有很大的益处,而且可以防止非法SQL注入。当用户点击数组按钮后系统将根据输入的卡号查找卡号余额并与按钮的数字相对比,如果选择的金额大于本卡余额将提示(不允许透支)。

图4-13 退卡模块

退卡模块相对简单多了,没有什么具体的界面设计,只是一个消息的提示,也是一种友好的处理方式,以防止用户误操作的方法。

第五章系统实现

系统实施是ATM系统开发过程中的最后一个阶段。它的目标是将技术设计转化成物理

实现。系统实施阶段的主要任务有:按总体设计方案购置和安装计算机网络系统、建立数据库、编程与调试、整理基础数据、培训操作人员、程序试运行和系统切换。

5.1 开发环境

(1)、软件开发具的选择

本系统采用Java作为编程语言,采用Eclipse软件开发环境,Eclipse对数据库应用

的强大支持,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。(2)、数据库管理系统的选择

由于本次设计所采用的是Microsoft Office Access 型数据库,这种数据库用来存储

少量数据,在设计和实施上有很大的优势,根据之前所做的功能分析,以及ATM柜员机自身

所具备的功能。

(3)、开发平台的选择

windows 平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和实际情况,选择Windowsxp作为开发测试和运行的平台。

5.2 程序设计与调试

1、程序设计

程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。

本系统中用Eclipse编程工具,采用结构化的编程方法对模块进行程序编写。具体源程序见附页。

2、程序调试

软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合设计标准。本系统采用的主要方法如下:

(1)单元测试:是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。采用白盒法对各模块进

行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。

(2)集成测试:在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试。

(3)确认测试(有效性测试):它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。一般分为用黑盒进行确认测试,再检查软件所有文

档的完整性、正确性——软件配置审查。

5.3 试运行

系统试运行是指对系统的运行环境和资源进行设置、系统运行和控制参数设定、数据加载以及调整系统与业务工作同步等。

第六章系统维护

系统维护是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段,系统维护的目的是保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护是信息系统可靠运行的重要技术保障,我们应给予足够的重视。

系统维护内容有校正性维护、适应性维护、完善性维护和预防性维护四种。

(1)校正性维护:为了识别和纠正错误,修改软件性能上的缺陷,进行确定和修改错误的过程。

(2)适应性维护:为了使应用软件适应变化而修改软件的过程

(3)完善性维护:为了适应变化,应用软件原来的功能和性能需要扩充和增强。

从而达到提高软件运行效率,增强软件性能而进行的维护。

(4)预防性维护:为了提高软件的可维护性和可靠性而对软件的修改。

第七章系统评价

系统评价应是贯穿系统整个生命周期各个阶段的重要决策手段和工作环节。狭义上的系统评价是指系统投入运行后从功能性能、经济效益、社会效益上的评价

本系统基本实现了取款、查询余额、转账、修改密码等功能,但由于时间短、知识水平有限,经验不足,系统仍存在不足,该系统主要有以下特点:

1、程序可读性强,易懂易维护

2、用户界面简洁,方便了用户使用。

3、安全性好,系统仍然使用输入密码方式,保证了系统的安全。

4、系统稳定,基本达到预期的功能要求。

5、系统还存在着许多不足,特别是在数据库的链接上,在代码的编写上也存在着很多的不足,代码存在着很多的缺陷。

6、在系统的的界面效果上也存在不足,系统界面显示应在屏中间。

总的来说,本次设计当中存有许多的不足之处,基本上设计出了和自己预想中的效果,但同时在设计上也还存在着很多的,很多事没有什么用的代码,我想是因为时间和经验的问题,以后多练习就肯定能提高,UI设计方面,仔细地看,还有一些小问题,系统运行时的警告就多达36处,但不会影响程序的运行,只会在美观方面有一定的影响,今后一定改善。

第八章结束语

1.通过java编写简单的ATM登录系统的设计,我不仅复习了上学期的java编程设计基

础知识,并且增强了我对java语言的领悟和应用,同时也更深刻的懂得了学好学会了并不

是代表能够真正的在实践中运用得流畅,这次实践给了我们一个既动手又动脑独立实践的机会,但其中也包含了自我寻找资料的能力和同学间的合作能力。这个系统将理论和实践相结合,提高自己的分析、解决问题的能力,并且让我明白了计算机的技术一定要从实际出发才

能真正的提高自己的能力;

2.经过了一个多月的设计和编写这个系统,我深刻的认识到了自己的不足和缺点,自己

处在什么水平,和同学相比自己的差距有多大,但是我也发现了自己的优点和长处,不管怎

么样,通过这次学习,我懂得了怎样取长补短,充分利用网络资源的重要性。

3.撰写论文,受到了杨占敏老师的悉心指导,同事朋友的热心帮助,在此表示衷心的感谢!

附:一、要参考资料:

参考文献

[1]夏宽理《Java语言程序设计1》机械工业出版社 2008-04出版

[2]张孝祥,《Java就业培训教程》,清华大学出版社. 2008.6

[3]陆丽娜《软件工程》经济科学出版社2000年3月

[4] 丁宝康《数据库系统原理》经济科学出版社 2007年版

参考网络资源

[1] 豆丁网 https://www.doczj.com/doc/374060384.html,.html

[2] 百度知道 https://www.doczj.com/doc/374060384.html,/question.html

[3] 百度文库 https://www.doczj.com/doc/374060384.html,/view.html

二、源代码部分

import java.awt.*;import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.*;

import java.awt.event.*;

class Panel1 extends JPanel{

JLabel label1,label2;

Panel1(){

setLayout(new GridLayout(4,1));

label1=new JLabel(" "+"银行存取款系统");label2=new JLabel(" "+"欢迎你成为本行用

户,你可以选择中文或英文方式");

add(new JLabel());add(label1);add(label2);add(new JLabel());

}

}

class Panel2 extends JPanel{

JButton button1,button2;

Panel2(){

setLayout(new GridLayout(3,6));

button1=new JButton("中文");button2=new JButton("英文");

add(new JLabel());add(new JLabel());add(new JLabel());add(new JLabel());add(new JLabel());

add(new JLabel());add(new JLabel());add(button1);add(new JLabel());add(new JLabel());

add(button2);add(new JLabel());add(new JLabel());add(new JLabel());add(new JLabel());

add(new JLabel());add(new JLabel());add(new JLabel());

}

}

class Client extends JFrame implements ActionListener{

Panel1 panel1;Panel2 panel2;JFrame frame;

Client(String s){

super(s);

Container con=this.getContentPane();

con.setLayout(new GridLayout(2,1));

panel1=new Panel1();panel2=new Panel2();

con.add(panel1);con.add(panel2);

panel2.button1.addActionListener(this);

panel2.button2.addActionListener(this);

this.setVisible(true);this.pack();

}

public void actionPerformed(ActionEvent e){

if(e.getActionCommand()=="中文"){

this.setVisible(false);

new Client00("输入密码");

}

else if(e.getActionCommand()=="英文"){String inputValue = JOptionPane.showInputDialog("Please input a value");}

}

}

public class bankSystem{

public static void main(String []args){

new Client("用户取款系统");

}

}

模拟信号数字化传输系统的设计与仿真分析

唐山学院 通信原理课程设计 题目模拟信号数字化传输系统的设计与仿真分析系 (部) 班级 姓名 学号 指导教师 2017 年 6 月 26 日至2017 年7月 8 日共 2 周

通信原理课程设计任务书 一、设计题目、内容及要求 设计题目:模拟信号数字化传输系统的设计与仿真分析 内容及要求: 1.了解Matlab/Simulink的运行环境及应用领域; 2.逐步熟悉模拟信号数字化传输系统的仿真过程,由简到难; 3.系统仿真及波形分析 (1) 模拟信号抽样过程原理与仿真分析; (2) 模拟信号量化过程原理与仿真分析; (3) PCM编译码系统设计与仿真分析; (4) DPCM编译码系统设计与仿真分析。 (5) 在高斯信道下对PCM系统的性能进行仿真分析。(可选) 二、设计原始资料 通信原理;软件Matlab;计算机一台 三、要求的设计成果(课程设计说明书、设计实物、图纸等) 设计说明书1份,不少于2000字,应包含模拟信号数字化传输系统原理、相关系统设计、相关软件Matlab/Simulink介绍、系统仿真及波形分析。 四、进程安排 第1-2天课设理论讲解及仿真软件介绍、学生练习使用软件 第3-4天相关系统设计 第5-6天系统仿真及波形分析 第7-8天整理、撰写说明书 第9-10天进行测试或答辩 五、主要参考资料 [1]樊昌信、曹丽娜.通信原理.北京:国防工业出版社,2006 [2]刘学勇.详解MATLAB/Simulink通信系统建模与仿真.北京:电子工业出版社,2011 [3]邵玉斌.MATLAB/Simulik通信系统建模与仿真实例分析.北京:清华大学出版社,2008 [4]张水英,徐伟强.通信原理及MATLAB/Simulink仿真.北京:人民邮电出版社,2012 [5]邵佳,董辰辉. MATLAB/Simulink通信系统建模与仿真实例精讲.北京:电子工业出版社,2009 指导教师(签名):教研室主任(签名):

电力系统仿真软件介绍

电力系统仿真软件 电力系统仿真软件简介 一、PSAPAC 简介: 由美国EPRI开发,是一个全面分析电力系统静态和动态性能的软件工具。 功能:DYNRED(Dynamic Reduction Program):网络化简与系统的动态等值,保留需要的节点。 LOADSYN(Load Synthesis Program):模拟静态负荷模型和动态负荷模型。 IPFLOW(Interactive Power Flow Program):采用快速分解法和牛顿-拉夫逊法相结合的潮流分析方法,由电压稳态分析工具和不同负荷、事故及发电调度的潮流条件构成。 TLIM(Transfer Limit Program):快速计算电力潮流和各种负荷、事故及发电调度的输电线的传输极限。 DIRECT:直接法稳定分析软件弥补了传统时域仿真工作量大、费时的缺陷,并且提供了计算稳定裕度的方法,增强了时域仿真的能力。 LTSP(Long Term Stability Program):LTSP是时域仿真程序,用来模拟大型电力系统受到扰动后的长期动态过程。为了保证仿真的精确性,提供了详细的模型和方法。 VSTAB(Voltage Stability Program):该程序用来评价大型复杂电力系统的电压稳定性,给出接近于电压不稳定的信息和不稳定机理。为了估计电压不稳定状态,使用了一种增强的潮流程序,提供了一种接近不稳定的模式分析方法。 ETMSP(Extended Transient midterm Stability Program):EPRI为分析大型电力系统暂态和中期稳定性而开发的一种时域仿真程序。为了满足大型电力系统的仿真,程序采用了稀疏技术,解网络方程时为得到最合适的排序采用了网络拓扑关系并采用了显式积分和隐式积分等数值积分法。 SSSP(Small-signal Stability Program):该程序有助于局部电厂模式振荡和站间模式振荡的分析,由多区域小信号稳定程序(MASS)及大型系统特征值分析程序(PEALS)两个子程序组成。MASS程序采用了QR变换法计算矩阵的所有特征值,由于系统的所有模式都计算,它对控制的设计和协调是理想的工具;PEALS使用了两种技术:AESOPS算法和改进Arnoldi 方法,这两种算法高效、可靠,而且在满足大型复杂电力系统的小信号稳定性分析的要求上互为补充。 二、EMTP/ATP 简介: EMTP是加拿大H.W.Dommel教授首创的电磁暂态分析软件,它具有分析功能多、元件模型全和运算结果精确等优点,对于电网的稳态和暂态都可做仿真分析,它的典型应用是预测电力系统在某个扰动(如开关投切或故障)之后感兴趣的变量随时间变化的规律,将EMTP 的稳态分析和暂态分析相结合,可以作为电力系统谐波分析的有力工具。 ATP(The alternative Transients Program)是EMTP的免费独立版本,是目前世界上电磁暂态分析程序最广泛使用的一个版本, 它可以模拟复杂网络和任意结构的控制系统,数学模型广泛,除用于暂态计算,还有许多其它重要的特性。ATP程序正式诞生于1984年,由Drs.

VISSIM,PARAMICS,TSIS仿真软件对比分析

三大著名的仿真软件 (VISSIM/PARAMICS/TSIS)对比分析VISSIM仿真系统 VISSIM是德国PTV公司开发的微观仿真软件,是一种微观的、以时间为参照、以交通行为模型为基础的仿真系统,主要用于城市和郊区交通的模拟仿真中。它采用的是一个离散的、随机的、以0.1s为时间步长的微观模型。车辆的纵向运动采用了基于规则的算法。不同驾驶员行为的模拟分为保守型和冒险型。VISSIM提供了图形化的界面,用2D和3D动画向用户直观显示车辆运动,运用动态交通分配进行路径选择。VISSIM可以模拟轨道和道路公共交通、自行车交通和行人交通,由仿真获得的交通特征数据可以评估不同的选择方案。它能够模拟许多城市内和非城市内的交通状况,特别适合模拟各种城市交通控制系统,主要应用有:(1)由车辆激发的信号控制的设计、检验、评价;(2)公交优先方案的通行能力分析和检验;(3)收费设施的分析; (4)匝道控制运营分析;(5)路径诱导和可变信息标志的影响分析;(6)路段、交叉口及整个交通网的通行能力和交通流分析;(7)评估不同的设计规划方案和交通组织方案;(8)评估环形交通;(9)评估收费系统和其他交通服务设施;(10)评估智能交通系统的效果(如路径选择系统);(11)大型公交车站的功能分析:(12)复杂交通设施各种运行方式的优化设计(如信号灯控制的路口和无信号灯控制的路口的组合和协

调);(13)信号灯控制程序的设计和优化:(14)设计公交优先系统;(15)2D和3D模拟结果的动态演示等。 在VISSIM模型中,信号灯控制程序可以在定时控制或者感应式信号程序方式下进行模拟。在信号控制程序的模拟时,西门子、飞利浦、PTV、BASEL等公司的产品都可以与之兼容。VISSIM仿真系统中,对于交通流和信号控制之间有一个接口,通过这个接口可以在检测器数据和信号灯控制参数之间进行数据交换。仿真结果可以是视窗动态交通流演示,或者是最后输出多种重要交通参数的数据表格。VISSIM的交通流模型既可以模拟一条车道上的车队行驶,也可以模拟车流在车道组中的变换情况。利用这些交通特征数据可以按照交通服务水平标准确定交通运行状况,进行多种措施预期实施效果的比较。PARAMICS仿真系统 英国的Quadstone公司开发的Paramics是表现最为出色的商业 化交通仿真产品之一。Paramics从1992年开始开发至今,融合了欧美众多交通及计算机领域科研机构及专家的努力和智慧,具有细致的路网建模、灵活的信号及车辆控制、完善的路径诱导、丰富的编程接口、详尽的数据分析等特色。由于采用了并行计算技术,仿真的路网规模可达上百万个节点,4百多万个路段,3万多个小区。在ITS的研究中,Paramics有突出的表现,能仿真交通信号、匝道控制、检测器、可变信息板、车内信息显示装置,车内信息顾问,路径诱导等。而且用户可以通过API函数定义特殊的控制策略。它还能够从SATURN、NESA、

车辆模拟仿真系统

附件1: 货车车辆模拟仿真培训系统用户手册 1、安装配置要求 服务器配置要求 (1)、硬件要求 CPU:Xeon MP 2.7GHz 内存:1G 网络:双端口100/1000M千兆以太网 硬盘:双端口120GB (2)、软件要求 安装JDK1.5,安装Tomcat5.5Web服务器,安装数据库服务器SQLServer2000中文企业版 客户端配置要求 (1)、硬件要求 CPU:主频2.0G HZ , 内存:2G 独立显示卡:265M独立显存,128bit显存位宽 至少有500MB空闲磁盘可用 (2)、软件要求 Windows 98/ME/NT/2000/XP操作系统

2、搭建软件运行环境 本软件需要jre1.5和jmf两个软件来搭建运行环境。具体安装方法如下: 参考本教程中“软件的安装”-“登录系统”登录系统后,点击按钮,会出现以下界面,包括jre1.5和jmf两个软件的下载: Jre1.5.0.4下载 JMF视频播放器下载 Flash播放插件下载 如果您在播放实作教学时,未发现有flash片段播放,那么请下载并安装Flash播放插件(如上图)。 1、安装jre 如果本机上没有装任何java环境,可直接下载java客户端运行程序。 如果本机上有其他版本(非jdk1.5.0.4)的jre,先通过开始->设置->控制面板->添加或删除程序,卸载原来的jre或jdk版本,再从下载页面中下载并安装jre1.5.0.4。 2、浏览器设置 Windows操作系统在默认情况下自带jre运行环境,如果在IE(浏览器)

中运行就必须进行设置,打开控制面板->internet选项->高级选中“将JRE1.5.0用于“和“启用Java Jit编译器“。如下图所示: 确定完成 3、安装和设置JMF视频播放器 1、安装JMF 在下载页面中下载JMF视频播放器,下载完后运行下载的文件 jmf-2_1_1e-windows-i586.exe 流程如下:

基于MATLAB的数字模拟仿真..

基于MATLAB的数字模拟仿真 摘要:本文阐述了计算机模拟仿真在解决实际问题时的重要性,并较为系统的介绍了使用计算机仿真的原理及方法。对于计算机模拟仿真的三大类方法:蒙特卡罗法、连续系统模拟和离散事件系统模拟,在本文中均给出了与之对应的实例及基于MATLAB模拟仿真的相关程序,并通过实例深入的分析了计算机模拟解决实际问题的优势及不足。 关键词:计算机模拟;仿真原理;数学模型;蒙特卡罗法;连续系统模拟;离散事件系统模拟 在实际问题中,我们通常会面对一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,这样进行处理过后的模型与我们面临的实际问题可能相差很远,以致求解得到答案根本无法应用,这时,计算机模拟几乎成为唯一的选择。本文通过对计算机模拟仿真进行系统地介绍,寻求利用模拟仿真来解决问题的一般方法,并深入探讨了这些方法的长处和不足。我们定义一些具有特定的功能、相互之间以一定的规律联系的对象所组成的总体为一个系统,模拟就是利用物理的、数学的模型以系统为问题解决对象,来类比、模仿现实系统及其演变过程,以寻求过程规律的一种方法。模拟的基本思想是建立一个实验的模型,这个模型包含所研究系统的主要特点,这样做的目的就是通过对这个实验模型的运行,获得所要研究系统的必要信息。另外,系统的运行离不开算法,仿真算法是将系统模型转换成仿真模型的一类算法,在数字仿真模型中起核心和关键作用。 1、所谓计算机仿真 计算机仿真是利用计算机对一个实际系统的结构和行为进行动态演示,以评价或预测该系统的行为效果。它是解决较复杂的实际问题的一条有效途径。针对一个确定的系统,根据运行的相似原理,利用计算机来逼真模仿研究对象(研究对象可以是真实的系统,也可以是设想中的系统),计算机仿真是将研究对象进行数学描述,建模编程,且在计算机中运行实现。 对比于物理模拟通常花费较大、周期较长,且在物理模型上改变系统结构和系数都较困难的诸多缺陷,计算机模拟不怕破坏、易修改、可重用,有更强的系统适应能力。但是计算机模拟也有缺陷,比如受限于系统建模技术,即系统数学模型不易建立、程序调试复杂等。 计算机仿真可以用于研制产品或设计系统的全过程中,包括方案论证、技术指标确定、设计分析、生产制造、试验测试、维护训练、故障处理等各个阶段。 2、计算机仿真的目的 对于一个系统,是否选择进行计算机模拟的问题,基于判断计算机模拟与非计算机模拟方法孰优孰劣的问题。归纳以下运用计算机模拟的情况: (1)在一个实际系统还没有建立起来之前,要对系统的行为或结果进行分析研究时,计算机仿真是一种行之有效的方法。 (2)在有些真实系统上做实验会影响系统的正常运行,这时进行计算机模拟就是为了避免给实际系统带来不必要的损失。如在生产中任意改变工艺参数可能会导致废品,在经济活动中随意将一个决策付诸行动可能会引起经济混乱。 (3)当人是系统的一部分时,他的行为往往会影响实验的效果,这时运用系统进行仿真研究,就是为了排除人的主观因素的影响。

几款仿真软件的分析

几款地质仿真软件的简介 本文将对ANSYS、ADINA、ABAQUS、MSC、FEPG、Femlab(Comsol)、Flac、PETREL进行简短的介绍。 有限元分析是对于结构力学分析迅速发展起来的一种现代计算方法。有限元分析软件目前流行的有:ANSYS、ADINA、ABAQUS、Femlab(Comsol)、MSC、FEPG等。 ANSYS软件在致力于线性分析的用户中具有很好的声誉,它在计算机资源的利用,用户界面开发等方面也做出了较大的贡献。ABAQUS软件则致力于更复杂和深入的工程问题,其强大的非线性分析功能在设计和研究的高端用户群中得到了广泛的认可。而ADINA软件除了求解非线性问题外,其在多物理场的流固耦合求解功能也是全球唯一的专利技术。COMSOL公司是全球多物理场建模与仿真解决方案的提倡者和领导者,其旗舰产品COMSOL Multiphysics,使所有的物理现象可以在计算机上完美重现。MSC是比较老的一款软件目前更新速度比较慢。FEPG是一款国产有限元分析软件。 一、ANSYS、ADINA、ABAQUS、MSC四者的比较 由于ANSYS产品进入中国市场早于ABAQUS,并且在五年前ANSYS 的界面是当时最好的界面之一,所以在中国,ANSYS软件在用户数量和市场推广度方面要高于ABAQUS。ANSYS软件注重应用领域的拓展,目前已覆盖流体、电磁场和多物理场耦合等十分广泛的研究领域。ABAQUS

则集中于结构力学和相关领域研究,致力于解决该领域的深层次实际问题。而ADINA软件和ANSYS软件一样都包括结构、温度、流体及流固耦合的功能,因此其应用领域也是相当广泛。 对于常规的结构线性问题,三种软件都可以较好的解决,在模型规模限制、计算流程、计算时间等方面都较为接近。 ABAQUS软件和ADINA软件在求解非线性问题时具有非常明显的优势;而ANSYS软件和ADINA软件则在流体和多物理场耦合功能方面具有无可比拟的优势。 目前在多物理场耦合方面ANSYS、ADINA、MSC都可以做到结构、流体、热的耦合分析(ABAQUS专注结构分析目前没有流体模块),但是除ADINA以外其它三个必须与别的软件搭配进行迭代分析,唯一能做到真正流固耦合的软件只有ADINA。 ANSYS/Workbench、ABAQUS/CAE、ADINA/AUI都是采用CAD方式建模和可视化视窗系统,都具有良好的人机交互特性。三种软件都除了提供窗口操作外都还提供命令流输入,但是ABAQUS/CAE并不对所有的命令流都支持CAE界面操作。ANSYS软件和ADINA软件都采用Parasolid为核心的实体建模技术,因此可以和其它Parasolid为核心的CAD软件实行真正无缝的双向数据交换,且该两种软件自身的建模功能很强大。而ABAQUS软件的CAE模块和输入文件两种建模方式是由两家不同的公司研制的,CAE模块功能还不是很完全,一些功能只能通过编辑INP输入文件来实。三种软件都提供多种网格划分器,可以进行复杂模型的自由

频谱分析仪模拟仿真设计

.专业整理. 数字信号处理课程设计 题目:频谱分析仪模拟仿真 专业:电子信息工程 班级: : 日期:2015-03-26

目录 1.设计目的 ------------------------------------------------------------------------1 2.程序流程 ------------------------------------------------------------------------2 3.软件设计 ------------------------------------------------------------------------3 4.心得体会 ------------------------------------------------------------------------4 5.参考文献 ------------------------------------------------------------------------5

一、设计目的 1、通过对频谱分析仪的模拟掌握其基本原理和基本功能; 2、学习掌握用计算机输出基波包括:方波、正弦波、余弦波等; 3、掌握倒位序、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)的原理及算法; 4、分别用DFT和FFT分析比较32位方波序列对比,体会快速算法的意义; 5、学会用turbo c编程软件并且对c语言编程算法进行实践,加深理解。 二、软件设计 1、方波8位加DFT抽样 #include #include #define N 8 #define PI 3.1415926 int sam[8]; void sample() { int i,j; printf("抽样结果:\n"); for(i=0;i=N/2) { j=-1; sam[i]=j; printf("sam[%d]=%d ",i,j); } } printf("\n"); } void DFT() { int k,n,a; float sum1=0,sum2=0; float xi[N],xj[N],xk[N];

车辆碰撞模拟仿真分析假人模型

关于车辆碰撞仿真分析用人体模型的认识 ——学习笔记及认识总结 李良 车辆工程 30608020406 人体模型:以人体参数为基础建立,描述人体形态特征和力学特征的有效工具,是研究、分析、设计、评价、试验人机系统不可缺少的重要辅助手段。 根据人体模型的用途进行分类: 1、设计用人体模型——汽车用H 点人体模型 2、作业分析用人体模 3、工作姿势分析用人体模型 4、动作分析用人体模型 5、人机界面匹配评价用人体模型 6、动力学分析用人体模型 7、运动学分析用人体模型 8、试验用人体模型——汽车碰撞试验用人体模型 一、概况介绍 车辆碰撞仿真分析用人体模型 车辆碰撞过程中,车内成员运动的动力学过程具有大位移、非线性、多自由度、瞬时性等特点,建立适合于这些特点的、基于多体系统动力学的人机模型,是进行车辆碰撞过程车内成员运动响应分析的关键技术问题。 基于多体系统动力学的二维和三维人体模型,应用于汽车碰撞过程中乘员运动响应的仿真分析、汽车碰撞行人事故中人体运动的仿真分析等问题的研究。 人体模型的结构:(以 MUL3D 汽车碰撞人体运动响应 为例) 1、人体模型的组成:13个刚体——头部、颈部、胸部、腰腹部、臀部、左右上臂、左右前臂和手、左右大腿、左右小腿和足。 2、相邻刚体之间的铰接约束形式根据人体关节的解剖学结构特点选取。 胸部与左右上臂之间的肩关节 ——万向节 人机系统匹配评价用人体模型 车辆碰撞仿真分析用人体模型

左、右上臂与左、右前臂之间的肘关节——转动副 左、右大腿与左、右小腿之间的膝关节——转动副 其它各关节——球面副 3、为了描述和计算人体与车身有关结构之间的碰撞力,根据碰撞接触的可能形式,将人体模型各组成部分的形状用椭球加以描述,将车身有关结构部分的形状用平面加以描述,按椭球与平面的贯穿接触来计算贯穿接触力。 二、虚拟现实中多刚体人体模型的构建 1、人体Hanavan 模型概述 在虚拟环境中模拟人体运动,首先就是要建立逼真的人体模型。从运动生物力学角度看,还要建立运动技术的力学模型,必须知道内在规律和约束条件两类因素。人体的外形主要是由人体的骨骼结构和附着在骨骼上的肌肉运动决定的。在人体运动过程中,皮肤的形变随着骨骼的弯曲和肌肉的伸展与收缩而变化。人体外形模型构建通常采用棒模型、表面模型和体模型三种方法。棒模型是将人体轮廓用棒图形和关节来表示。表面模型是由一系列多边形和曲面片的表面将人体骨骼包围起来表示人体外型,该模型可以通过修改表面点来表示人体的运动,也可以消除其隐藏面,真实感较强,但有限的多边形面表示人体表面光滑性不够。体模型是由基本体素的组合来表示人体外型,如采用圆柱体、椭球体、球体等体素来构造人体。 人体在忽略受力产生形变的情况下,可看作一 个由关节点连接的多个刚体所构成的系统。人体运 动仿真系统的人体模型通常采用的是汉纳范 (Hanavan)模型。它将人体分解为1 5 段,由头、 上躯干、下躯干、左上臂、左下臂、左手、右上臂、 右下臂、右手、左大腿、左小腿、左脚、右大腿、 右小腿、右脚组成,每一段皆为匀质 的不可变形的刚体,各段之间以绞链相连接[5]。对 于一般的刚体,任意时刻只要知道它的空间位置、 姿态,就能在空间中描述这个刚体。而人体不同于 一般的刚体,人体是由200 多个旋转关节组成的复 杂形体,仅仅依靠三个位置量、三个姿态角不能模拟真实的人体运动,需要提供所有的关节数据。所以人体运动的仿真要远复杂于一般的刚体,也就更具挑战性。

系统模拟仿真

目录 目录 (1) 摘要 (2) Abstract (3) 1 研究背景 (4) 2 北区开水房现状及存在问题 (4) 3 数据调研与分析 (5) 3.1 数据调研 (5) 3.2 数据分析 (5) 3.3 数据流程分析 (6) 4 基于Arena的仿真建模 (6) 4.1 离散系统建模的组成要素 (6) 4.2 离散系统模拟的原理 (7) 4.3 打水服务活动建模 (7) 4.4 Arena模型建立 (7) 5 模拟结果运行分析与优化 (8) 5.1 模拟结果运行分析 (8) 5.2 模拟优化 (9) 6 结论及展望 (10) 参考文献 (10)

随着我国高校招生条件的放宽,大学生的人数逐年增加,而作为重要的日常活动,大流量的学生人数加剧了开水房的压力,这也对开水房的管理和配置提出了更高的要求。 仿真模拟是实现资源合理配置的一项重要途径,开水房采用恰当的资源分配方式,可以缩短顾客的服务时间,从而提高服务质量,增强顾客对服务的满意度,进而提高经济效益。 本文以中国地质大学(武汉)北区开水房为例,从其管理的现状及存在的问题出发,针对基于离散事件的打水过程进行深入分析,建立了打水过程中的服务活动模型,采用Arena软件对小型开水房的服务能力进行仿真,通过仿真结果对打水过程进行评价,找到影响北区开水房服务能力的主要因素,同时给出了减少排队等待时间及提高服务效率的方案,最终为北区开水房的管理提供有价值的参考依据。 关键词:离散事件仿真;Arena;开水房服务能力;系统建模与优化

With the conditions of college students in China eased, the number of college students has increased, and as the important daily activities, big flow, the number of students intensifies the boiled water room pressure, this is also the management and configuration off booth put forward higher request. Simulation is to realize the reasonable configuration of resources is an important way, boiled water room uses appropriate resources allocation way, can shorten the time customer service, so as to improve the service quality and enhance customer satisfaction, and improve the economic benefits. This paper to China university of geosciences (wuhan) north boiled water room, for example, from its management of the status quo and existing problems of the, based on discrete event kick, makes a deep analysis of the process, a dozen in the process of water service activities model, adopt Arena for small boiled water room software service ability, and simulation through the simulation results rallied water process of appraisal, find north boiled water room service ability to influence the main factors, and presents the reduce waiting time and improve the service line of the efficiency of the program, and ultimately the boiled water room for north of management to provide valuable reference. Key words: Discrete event simulation; Arena; The boiled water room service ability; System modeling and optimization

频谱分析仪模拟仿真

数字信号处理课程设计题目:频谱分析仪模拟仿真 专业:电子信息工程 班级: 姓名: 日期:2015-03-26

目录 1.设计目的------------------------------------------------------------------------1 2.程序流程------------------------------------------------------------------------2 3.软件设计------------------------------------------------------------------------3 4.心得体会------------------------------------------------------------------------4 5.参考文献------------------------------------------------------------------------5

一、设计目的 1、通过对频谱分析仪的模拟掌握其基本原理和基本功能; 2、学习掌握用计算机输出基波包括:方波、正弦波、余弦波等; 3、掌握倒位序、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)的原理及算法; 4、分别用DFT和FFT分析比较32位方波序列对比,体会快速算法的意义; 5、学会用turbo c编程软件并且对c语言编程算法进行实践,加深理解。 二、软件设计 1、方波8位加DFT抽样 #include #include #define N 8 #define PI 3.1415926 int sam[8]; void sample() { int i,j; printf("抽样结果:\n"); for(i=0;i=N/2) { j=-1; sam[i]=j; printf("sam[%d]=%d ",i,j); } } printf("\n"); } void DFT() { int k,n,a; float sum1=0,sum2=0; float xi[N],xj[N],xk[N]; printf("DFT变换结果:\n"); for(k=0;k

系统仿真分析报告

四川大学 课程实验报告 四川大学工商管理学院实验中心制 2010年12月

一、实验目的 通过建立不同情况的系统仿真模型,明显清楚的反应在各自当前情况下顾客等待时间和照相点的利用率如何,从而最终确定是在登记处增加一个照相店还是增加一个工作人员能够较为明显的减少顾客的等待时间。 二、实验内容与实验步骤 1.建立不同状态下的系统仿真模型。 2.观测各自状态下模型中的数据,侧重点在顾客等待时间和照相点利用率。 3.通过一些列方法对上述两个侧重点进行对比分析。 4.得出实验目的中所需要的结论。 三、实验环境 通过simio软件进行系统仿真模拟分析。 四、实验过程与分析 <一>根据实验要求建立模型如下: 图一 1.建立一个source并命名为Arrivers(驾驶员)驾驶员,设置interarrival的时间参数值为timeRandom.Exponential(1.2),units为minutes; 2.建立两个server并分别命名为Registry1(登记处)和Registry2,设置processing time为Random.Triangular(1.8,2,2.2),units为minutes; 3.为了方便建模,建立一个server3,设置processing time为0; 4.建立两个server,分别命名为Examination(笔试)和Photoing(照相),分别设置processing time为Random.Triangular(18,20,25),Random.Exponential( 1 ),units均为minutes; 5.建一个server更名为Dveringcard(领取执照),在此模块和Photoing之间用Timenpass连接起来并设置timepass为1,其余模块之间连接用Connect连接,units为minutes;

物流系统三维虚拟仿真

物流系统三维虚拟仿真 一.引言 当前,仿真技术已经成为分析、研究各种复杂系统的重要工具,它广泛用于工程领域和非工程领域。仿真可定义为:在全部时间内,通过对系统的动态模型性能的观测来求解问题的技术。物流系统是企业生产的一个重要组成部分,物流合理化是提高企业生产率最重要的方法之一。因此对物流系统的设计和仿真的研究,也日益受到人们的重视。本文主要介绍了物流系统仿真的核心技术和计算机图形技术在物流仿真中的应用及国外三维物流仿真软件。 二.物流系统仿真的核心技术 物流系统的仿真是典型的离散事件系统仿真,其核心是时钟推进和事件调度的机制。离散事件系统是指系统状态在某些随机时间点上发生离散变化的系统。这种引起状态变化的行为称为"事件",因而这类系统是由事件驱动的;而且,"事件"往往发生在随机时间点上,亦称为随机事件,因而离散事件系统一般都具有随机特性;系统的状态变量往往是离散变化的。 1.仿真时钟 仿真钟用于表示仿真时间的变化。在离散事件系统仿真中,由于系统状态变化是不连续的,在相邻两个事件发生之前,系统状态不发生变化,因而仿真钟可以跨越这些"不活动"周期。从一个事件发生时刻,推进到下一个事件发生时刻。 由于仿真实质上是对系统状态在一定时间序列的动态描述。因此,仿真钟一般是仿真的主要自变量。仿真钟推进方法有三大类:事件调度法、固定增量推进法和主导时钟推进法。 应指出,仿真钟所显示的是系统仿真所花费的时间,而不是计算机运行仿真模型的时间。因此,仿真时间与真实时间成比例关系。象物流系统这样复杂的机电系统,仿真时间可比真实时间短的多。真实系统实际运行若干天,若干月,用计算机仿真也只需要几分钟。 2.事件调度法 事件调度法是面向事件的方法,是通过定义事件,并按时间顺序处理所发生的一系列事件。记录每一事件发生时引起的系统状态的变化来完成系统的整个动态过程的仿真。由于事件都是预定的,状态变化发生在明确的预定的时刻,所以这种方法适合于活动持续时间比较确定的系统。 事件调度法中仿真钟是按下一时间步长法来推进的。通过建立事件表,将预定的事件按时间发生的先后顺序放入事件表中。仿真钟始终推进到最早发生的时间时刻。然后处理该事件发生时的系统状态的变化,进行用户所需要的统计计算。这样,仿真钟不断从一个事件发生时间推进到下一个最早发生的事件时间,指导仿真结束。 3.随机数和随机变量的产生

相关主题
文本预览
相关文档 最新文档