实验1《软件项目的需求分析》实验报告

实验1《软件项目的需求分析》实验报告
实验1《软件项目的需求分析》实验报告

软件工程

实验报告

实验1:软件项目的需求分析

学号:_________________________

班号:_________________________

姓名:_________________________

课程主讲教师:张建国__________

实验指导教师:张建国__________

提交日期:2011年11月11日

软件需求规格说明书

1引言

编写目的

编写本文档的目的是根据系统分析工程师和客户沟通的结果,对用户需求进行了全面细致的分析,深入描述《图书管理系统》软件的功能和性能与界面,确定该软件设计的限制和定义软件的其他有效性需求。

该需求规格说明书的读者对象是图书管理系统软件小组的研发工程师、测试工程师、销售工程师,版权归上述所有者所有,严禁外传。

背景

随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。

图书管理系统软件 LMS 是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS WINDOW系列等操作系统上使用。除此以外,LMS可通过访问权限控制以及

数据备份功能,确保数据的安全性。

定义

文档中采用的专门术语的定义及缩略词简要如下: LMS: Library Management System ,图书管理系统。

1. 4 参考资料

[1]王慧亮关于图书管理系统的批文

[2]郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。

[3]王立福,麻志毅。《软件工程》(第二版)。北京:北京大学出版社,2001。

[4]唐学忠,王文。《Visual Basic 程序设计教程》北京:中国电力出版社,2002。

2任务概述

目标

《图书管理系统》针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。相应的需求有:

1.能够存储一定数量的图书信息 , 并方便有效的进行相应的书籍数据操作和管理,这主要包括:

1)图书信息的录入、删除及修改。

2)图书信息的多关键字检索查询。

3)图书的出借、返还和资料统计。

2.能够对一定数量的读者进行相应的信息存储与管理,这其中包括:

1) 读者信息的登记、删除及修改。

2) 读者资料的统计与查询。

3?能够对需要的统计结果提供列表显示输出。

4?能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。

用户的特点

该软件的最终用户是图书馆管理人员和读者。这些人员对本软件的使用频度相当大

假定和约束

一个更为完善的图书管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。

3需求规定

对功能的规定

1.1 功能划分该软件具有如下主要功能:

1.浏览功能;

2.查询功能;

3.插入功能;

4.修改功能;

5.删除功能;

6.授权功能;

1.2 功能描述

1.浏览功能

列出当前数据库文件中书籍和读者的所有记录;可选定一项记录,显示所有域;

2.查询功能

书目匹配查询;

读者匹配查询;

书目和读者相关匹配查询;

3.插入功能

增加一个书目记录;增加一个读者记录

4.修改功能

修改某一已存在的记录内容,提供确认机制;

5.删除功能

删除一个记录,提供确认机制;

6.授权功能;

授权读者访问数据的权限;

对性能的规定

精度

查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。时间特性要求

一般操作的响应时间应在 1 -2秒内。

灵活性

满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。

输人输出要求

1.3 静态数据图书管理系统的静

态数据包括:图书 (book) :

读者 (reader)

图书访问记录 (recorder):

系统设置表 (configuration)

系统操作员记录表 (administer) 图书编号 (BookID) ;图书书名(BookName);图书作者 (Author) ;图书出版社 (Publisher) ;图书单价(BookPrice) ;图书摘要 (Abstract) ;图书分类 (Class) ;图书状态(BookStatus) ;

读者识别号 (ReaderID) ;读者姓名(Name);

读者权限 (Level) ;读者联系方法(Address) ;读者电话号码(TelephoneNumber) ;读者电子邮件(Email) ;

借阅图书号 (bookID) ;借阅者证号(ReaderID) ;借书日期 (OutDate) ;

记录号 (id) ;读者识别号 (readid) 最多可借图书数 (MaxBLNum);最多借书天数(MaxBLDays);

记录序号 (WorkerId) ;账号(Account) ;口令 (Password) ;权限级别 (Level) ;

1.4 动态数据

输入数据:鼠标对按钮的点击

查询方式、查询关键字;

新建图书项、读者项;

图书项、读者项相应纪录更改;备份数据恢复所需的数据备份文件;借阅、返还、丢失注销时的图书序号、读者借阅证号;受限操作所需的密码;输出数据:查询关键字确定的数据库记录的子集;

统计结果及其格式化文件;

基本运算器实验模板

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称基本运算器实验 班级 学号 姓名 同组人员无 实验日期 2016.5.17

一、实验目的与要求 (一) 实验目的: (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 (二) 实验要求: (1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会特别低,一次实验时间根本无法完成实验内容,即使基本作对了,也很难说懂得了些什么重要教学内容。 (2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室。 (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而破坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚。 二、实验逻辑原理图与分析 2.1 画实验逻辑原理图 xxxxxxxxxx xxxxxxxxxx 多路开关 判零 A=xx LOG=xx SHF=xx ART=xx 进位 B=xx & &

2.2 逻辑原理图分析 1)运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要 处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM)。 2)各部件对操作数进行何种运算由控制信号S3…S0和CN 来决定,任何时候, 多路选择开关只选择三部件中一个部件的结果作为ALU 的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU 零标志。 ALU 中所有模块集成在一片CPLD 中。 三、数据通路图及分析 1、逻辑运算

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

计算机组成原理实验-运算器组成实验报告

计算机组成原理课程实验报告 9.3 运算器组成实验 姓名:曾国江 学号: 系别:计算机工程学院 班级:网络工程1班 指导老师: 完成时间: 评语: 得分:

9.3运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 ALU-BUS# DBUS7 DBUS0 Cn# C 三态门(244) 三态门(244)ALU(181) ALU(181) S3S2S1S0M A7A6A5A4F7F6F5F4 F3F2F1F0B3B2B1B0 Cn+4 Cn Cn Cn+4 LDDR2T2 T2 LDDR1LDRi T3 SW-BUS# DR1(273) DR2(273) 双端口通用寄存器堆RF (ispLSI1016) RD1RD0RS1RS0WR1WR0 数据开关(SW7-SW0)数据显示灯 A3A2A1A0B7B6B5B4 图3.1 运算器实验电路 LDRi T3A B 三态门 R S -B U S # 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF 中。

RF(U30)由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选择从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、B端口分别与操作数暂存器DR1、DR2相连;另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过B端口送到DBUS 上。 DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU的A输入端口,DR2接ALU的B输入端口。ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD 按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1、按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运 算器模块内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值分析实验指导2012

数值分析实验指导 2012年8月

实验一 误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对(1.1)中19x 的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个MATLAB 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 p o l y (v b = 的输出b 是一个n+1维向量,它是以n 维向量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ) )20:1((; )2();21,1(;000000001.0ve poly roots ess ve zeros ve ess +=== 上述简单的MATLAB 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。

运算器部件实验报告

实验一运算器部件实验报告 班级姓名学号日期 一、实验目的 ●熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求 使用的控制信号及其各自的控制作用。 ●熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方 案,各数据位信号、各控制位信号的连接关系。 ●熟悉与深入理解用2片GAL20v8芯片解决ALU最低位的进位输入信号和 最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 ●明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它 的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号

1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中。 运算器功能所用到的控制信号

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

数值分析试验一

数值分析第一次实验报告 姓名: 学号: 实验1: 1. 实验项目的性质和任务 通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步理解。 2.教学内容和要求 1)对高阶多多项式 20 1()(1)(2)(20)()k p x x x x x k ==---=-∏ 编程求下面方程的解 19()0p x x ε+= 并绘图演示方程的解与扰动量ε的关系。(实验) 2)对2~20n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量b 的方法,确定方程组 n H x b = 最后,用矩阵分解方法求解方程组,并分析计算结果。(第三章,实验题4) 3)对函数 2 1()[1,1]125f x x x =∈-+ 的Chebyshev 点 (21)cos( ) 1,2,...,12(1) k k x k n n π -==++ 编程进行Lagrange 插值,并分析插值结果。(第四章 实验1)

项目涉及核心知识点 病态方程求解、矩阵分解和方程组求解、Lagrange插值。 重点与难点 算法设计和matlab编程。 1)a.实验方案: 先创建一个20*50的零矩阵X,然后利用Matlab中的roots()和poly()函数将50个不同的ess扰动值所产生的50个解向量分别存入X矩阵中。然后再将ess向量分别和X的20个行向量绘图。即可直观的看出充分小的扰动值会产生非常大的偏差。即证明了这个问题的病态性。 b.编写程序: >> X=zeros(20,50); >> ve=zeros(1,21); >> ess=linspace(0,,50);k=1; >> while k<=50 ve(2)=ess(k); X(1:20,k)=roots(poly(1:20)+ve); k=k+1; end >> m=1; >> while m<=20 figure(m),plot(ess,X(m,:));

计算机组成原理实验报告运算器组成存储器

计算机组成原理实验报告 一、实验1 Quartus H的使用 一.实验目的 掌握Quartus H的基本使用方法。 了解74 1 38(3:8)译码器、74244、74273的功能。 利用Quartus H 验证74138 (3: 8)译码器、74244、74273 的功能。 二.实验任务 熟悉Quartus H中的管理项目、输入原理图以及仿真的设计方法与流程。新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138 的原理图与仿真图 74244的原理图与仿真图 1.

实验2运算器组成实验 一、 实验目的 1. 掌握算术逻辑运算单元(ALU 的工作原理。 2. 熟悉简单运算器的数据传送通路。 3. 验证4位运算器(74181)的组合功能。 4. 按给定数据,完成几种指定的算术和逻辑运算。 二、 实验电路 附录中的图示出了本实验所用的运算器数据通路图。 8位字长的ALU 由2 片74181构成。2片74273构成两个操作数寄存器 DR1和DR2用来保存参 与运算的数据。DR1接ALU 的A 数据输入端口,DR2接 ALU 的B 数据输入端 口,ALU 的数据输出通过三态门74244发送到数据总线BUS7-BUS 上。参与 运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或 DR2 暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了 T4是脉冲信号外,其 4. 74273的原理图与仿真图、

他均为电位信号。nCO, nALU-BUS nSW-BU鈞为低电平有效。 三、实验任务按所示实验电路,输入原理图,建立.bdf 文件。 四. 实验原理图及仿真图 ,然后利用ALU的直通功能,检查DR1 DR2中是否保存了所置的数。 其实验原理图如下: 波形图如下: 实验 3 半导体存储器原理实验 (一)、实验目的 (1)熟悉静态随机存储器RAM和只读存储器ROM勺工作特性和使用方法; (2)熟悉半导体存储器存储和读出数据的过程; (3)了解使用半导体存储器电路时的定时要求。 (二)、实验要求 利用Quartus H器件库提供的参数化存储单元,设计一个由128X8 位的RAM和128X8位的ROM勾成的存储器系统。请设计有关逻辑电路,要求仿真通过,并设计波形文件,验证该存储器系统的存储与读出。 (三)、实验原理图与仿真图 ram内所存储的数据: rom 内所存储的数据: 仿真图如下: (四)心得体会 本次试验中,我们应该熟练掌握Quartus H软件的使用方法;熟悉静态随机存储器RAM和只读存储器RO啲工作特性和使用方法;熟悉半导体存储器存

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 1 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。即若x0 偏离所求根较远,Newton法可能发散的结论。并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收

敛,但精度不够。熟悉Matlab语言编程,学习编程要点。体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk) 产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 xk?1?xk?rf(xk) 'f(xk) 其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x);

数值分析实验题目及解答

内容包括: 实验题目1:算法的数值稳定性实验 实验题目2:LU分解实验 实验题目3:三次样条插值外推样条实验 实验题目4:第二类Fredholm 积分方程实验实验题目5:M级显式R_K法

实验题目:算法的数值稳定性实验 实验内容:计算积分()1 0()d 1515n x I n x a x ==+? (n=1,2,…,20) 易得到下面递推公式 ()()1 1I n aI n n =--+ 并有估计式 ()() ()() 1 1 111I n a n a n << +++ 计算方法: 算法一:采用下面递推公式计算: ()()1 1I n aI n n =--+ ()1,2,,20 n = 取初值()116 0ln ln 15a I a +== 算法二: 采用下面递推公式计算: ()()111I n I n a n ??-= -+???? ()20,19,,1 n =

结果分析:(分析哪个好哪个不好,原因是什么) 我觉得算法二比较好, 原因一:根据式 ()() ()() 1 1 111I n a n a n << +++得知,I(n)不可能小于 零,而算法一的计算结果有部分结果小于零。原因二:对算法一记初始误差 ε0=/I 0-I(0)/>0; 则εn =/I n -I(n)/=a/I n-1-I(n-1)/=a n *ε0 由此可知,当n=20时, ε20把ε0放大了a 20倍,其结果造成严重的。 而对于算法二^ ^ 11n n a εε-= ,…, ^ ^ 01 n n a εε=,尽管有初始误差^ 20ε,但随着计算的进程,这个误差的影响不断减小。 附:源程序:(把源程序附上) 算法一程序: >> format long >> a=15;I=log(16/15); for n=1:20 n I=-a*I+1/n end 算法二程序: >> format long >> a=15;I=31/10080; >> for n=20:-1:1 n I I=1/a*(-I+1/n); End

计算机组成原理实验1-运算器

《计算机组成原理》 实验报告 实验一运算器实验

一、实验目的 1.掌握运算器的组成及工作原理; 2.了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操 作和逻辑操作的具体实现过程; 3.验证带进位控制的74LS181的功能。 二、实验环境 EL-JY-II型计算机组成原理实验系统一套,排线若干。 三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果) 实验步骤:开关控制操作方式实验 1、按图1-7接线图接线: 连线时应注意:为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。 图1-1 实验一开关实验接线图 2、通过数据输入电路的拨开关开关向两个数据暂存器中置数: 1)拨动清零开关CLR,使其指示灯。再拨动CLR,使其指示灯亮。置ALU-G =1:关闭ALU的三态门;再置C-G=0:打开数据输入电路的三态门; 2)向数据暂存器LT1(U3、U4)中置数:

(1)设置数据输入电路的数据开关“D15……D0”为要输入的数值; (2)置LDR1=1:使数据暂存器LT1(U3、U4)的控制信号有效,置LDR2=0:使数据暂存器LT2(U5、U6)的控制信号无效; (3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1送时钟,上升沿有效,把数据存在LT1中。 3)向数据暂存器LT2(U5、U6)中置数: (1)设置数据输入电路的数据开关“D15……D0”为想要输入的数值; (2)置LDR1=0:数据暂存器LT1的控制信号无效;置LDR2=1:使数据暂存器LT2的控制信号有效。 (3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT2送时钟,上升沿有效,把数据存在LT2中。 (4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。 4)检验两个数据暂存器LT1和LT2中的数据是否正确: (1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU 的三态门; (2)置“S3S2S1S0M”为“F1”,数据总线显示灯显示数据暂存器LT1中的数,表示往暂存器LT1置数正确; (3)置“S3S2S1S0M”为“15”,数据总线显示灯显示数据暂存器LT2中的数,表示往暂存器LT2置数正确。 3、验证74LS181的算术和逻辑功能: 按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“1234H”和“5678H”,在给定LT1=1234H、LT2=5678H的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入上表中,参考表1-1的功能表,分析输出F值是否正确。分别将“AR”开关拨至“1”和“0”的状态,观察进位指示灯“CY”的变化并分析原因。 实验结果表为:

数值分析实验报告

实验一、误差分析 一、实验目的 1.通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; 2.通过上机计算,了解误差、绝对误差、误差界、相对误差界的有关概念; 3.通过上机计算,了解舍入误差所引起的数值不稳定性。 二.实验原理 误差问题是数值分析的基础,又是数值分析中一个困难的课题。在实际计算中,如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取算法时注重分析舍入误差的影响,在实际计算中是十分重要的。同时,由于在数值求解过程中用有限的过程代替无限的过程会产生截断误差,因此算法的好坏会影响到数值结果的精度。 三.实验内容 对20,,2,1,0 =n ,计算定积分 ?+=10 5dx x x y n n . 算法1:利用递推公式 151--=n n y n y , 20,,2,1 =n , 取 ?≈-=+=1 00182322.05ln 6ln 51dx x y . 算法2:利用递推公式 n n y n y 51511-= - 1,,19,20 =n . 注意到 ???=≤+≤=10 10202010201051515611261dx x dx x x dx x , 取 008730.0)12611051(20120≈+≈y .: 四.实验程序及运行结果 程序一: t=log(6)-log(5);

n=1; y(1)=t; for k=2:1:20 y(k)=1/k-5*y(k-1); n=n+1; end y y =0.0884 y =0.0581 y =0.0431 y =0.0346 y =0.0271 y =0.0313 y =-0.0134 y =0.1920 y =-0.8487 y =4.3436 y =-21.6268 y =108.2176 y =-541.0110 y =2.7051e+003 y =-1.3526e+004 y =6.7628e+004 y =-3.3814e+005 y =1.6907e+006 y =-8.4535e+006 y =4.2267e+007 程序2: y=zeros(20,1); n=1; y1=(1/105+1/126)/2;y(20)=y1; for k=20:-1:2 y(k-1)=1/(5*k)-(1/5)*y(k); n=n+1; end 运行结果:y = 0.0884 0.0580 0.0431 0.0343 0.0285 0.0212 0.0188 0.0169

数值分析实验报告

学生实验报告实验课程名称 开课实验室 学院年级专业班 学生姓名学号 开课时间至学年学期

if(A(m,k)~=0) if(m~=k) A([k m],:)=A([m k],:); %换行 end A(k+1:n, k:c)=A(k+1:n, k:c)-(A(k+1:n,k)/ A(k,k))*A(k, k:c); %消去end end x=zeros(length(b),1); %回代求解 x(n)=A(n,c)/A(n,n); for k=n-1:-1:1 x(k)=(A(k,c)-A(k,k+1:n)*x(k+1:n))/A(k,k); end y=x; format short;%设置为默认格式显示,显示5位 (2)建立MATLAB界面 利用MA TLAB的GUI建立如下界面求解线性方程组: 详见程序。 五、计算实例、数据、结果、分析 下面我们对以上的结果进行测试,求解:

? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - - - 7 2 5 10 13 9 14 4 4 3 2 1 13 12 4 3 3 10 2 4 3 2 1 x x x x 输入数据后点击和,得到如下结果: 更改以上数据进行测试,求解如下方程组: 1 2 3 4 43211 34321 23431 12341 x x x x ?? ???? ?? ???? ?? ???? = ?? ???? - ?? ???? - ???? ?? 得到如下结果:

数值分析2016上机实验报告

序言 数值分析是计算数学的范畴,有时也称它为计算数学、计算方法、数值方法等,其研究对象是各种数学问题的数值方法的设计、分析及其有关的数学理论和具体实现的一门学科,它是一个数学分支。是科学与工程计算(科学计算)的理论支持。许多科学与工程实际问题(核武器的研制、导弹的发射、气象预报)的解决都离不开科学计算。目前,试验、理论、计算已成为人类进行科学活动的三大方法。 数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。现在面向数值分析问题的计算机软件有:C,C++,MATLAB,Python,Fortran等。 MATLAB是matrix laboratory的英文缩写,它是由美国Mathwork公司于1967年推出的适合用于不同规格计算机和各种操纵系统的数学软件包,现已发展成为一种功能强大的计算机语言,特别适合用于科学和工程计算。目前,MATLAB应用非常广泛,主要用于算法开发、数据可视化、数值计算和数据分析等,除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 本实验报告使用了MATLAB软件。对不动点迭代,函数逼近(lagrange插值,三次样条插值,最小二乘拟合),追赶法求解矩阵的解,4RungeKutta方法求解,欧拉法及改进欧拉法等算法做了简单的计算模拟实践。并比较了各种算法的优劣性,得到了对数值分析这们学科良好的理解,对以后的科研数值分析能力有了极大的提高。

目录 序言 (1) 问题一非线性方程数值解法 (3) 1.1 计算题目 (3) 1.2 迭代法分析 (3) 1.3计算结果分析及结论 (4) 问题二追赶法解三对角矩阵 (5) 2.1 问题 (5) 2.2 问题分析(追赶法) (6) 2.3 计算结果 (7) 问题三函数拟合 (7) 3.1 计算题目 (7) 3.2 题目分析 (7) 3.3 结果比较 (12) 问题四欧拉法解微分方程 (14) 4.1 计算题目 (14) 4.2.1 方程的准确解 (14) 4.2.2 Euler方法求解 (14) 4.2.3改进欧拉方法 (16) 问题五四阶龙格-库塔计算常微分方程初值问题 (17) 5.1 计算题目 (17) 5.2 四阶龙格-库塔方法分析 (18) 5.3 程序流程图 (18) 5.4 标准四阶Runge-Kutta法Matlab实现 (19) 5.5 计算结果及比较 (20) 问题六舍入误差观察 (22) 6.1 计算题目 (22) 6.2 计算结果 (22) 6.3 结论 (23) 7 总结 (24) 附录

实验一 运算器实验(1)

级班学号姓名 实验报告 实验一运算器实验 一、实验目的: 1、掌握简单运算器的数据传送通路; 2、验证运算功能发生器(74LS181)的组合功能; 3、验证带进位控制的算术运算功能发生器的功能; 4、按指定数据完成几种指定的算术运算。 二、实验设备 DVCC-C5JH计算机组成原理教学实验系统一台,排线若干。 三、实验原理 1、实验中所用的运算器数据通路图如附A图1-3所示。其中运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关(“INPUT DEVICE”)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连,数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线内容。 2、控制信号说明: T4:脉冲信号;实验时,将W/R UNIT的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 S3~S0、M:运算器的功能控制信号;可参见74181芯片的功能表P64。 Cn:进位控制信号,低电平有效。 LDDR1、LDDR2:数据寄存器DR1和DR2的数据装载控制信号,高电平有效。ALU-B:该控制信号控制是否将ALU的结果送到总线上,低电平有效。

SW-B :三态门开关信号,控制是否打开三态门,低电平有效。 四、实验内容 1、算术逻辑运算实验: 实验步骤: ①按图1-2连接路线,仔细检查无误后,接通电源; ②用二进制数码开关向DR1和DR2寄存器置数。 A )数据开关置01100101; B )设置switch unit :ALU-B=1 SW-B=0 LDDR1=1 LDDR2=0 C )按动KK2给出一个单脉冲信号,即T4=┎┒ D )数据开关置10100111; E )设置switch unit :LDDR1=0 LDDR2=1 F )按动KK2给出一个单脉冲信号。 ③检验DR1和DR2中存的数是否正确: A )设置switch unit :SW-B=1 ALU-B=0 B )设置switch unit :当S 3S 2S 1S 0M=00000,总线显示灯显示DR1中的数,而 置为S 3S 2S 1S 0M=01010,总线显示灯显示DR2中的数。 ④验证74LS181的算术运算和逻辑运算功能:[给定A=(DR1)=65 H ,B=(DR2)=A7 H] A )改变运算器的功能设置,观察运算器的输出,填入下表: DR1 DR2 S 3S 2S 1S 0 M=1(算术运算) M=0(逻辑运算) Cn=1 (无进位) Cn=0 (有进位) 65 A7 0000 01100101 01100110 10011010 65 A7 0001 11100111 11101000 00011000 65 A7 0010 01111101 01111110 10000010 65 A7 0011 11111111 00000000 00000000 65 A7 0100 10100101 10100110 11011010 65 A7 0101 00100111 00101000 01011000

数值分析实验报告资料

机电工程学院 机械工程 陈星星 6720150109 《数值分析》课程设计实验报告 实验一 函数插值方法 一、问题提出 对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n ==。试用Lagrange 公式求其插值多项式或分段二次Lagrange 插值多项式。 数据如下: (1 求五次Lagrange 多项式5L ()x ,计算(0.596)f ,(0.99)f 的值。(提示:结果为(0.596)0.625732f ≈, (0.99) 1.05423f ≈) 实验步骤: 第一步:先在matlab 中定义lagran 的M 文件为拉格朗日函数 代码为: function[c,l]=lagran(x,y) w=length(x); n=w-1; l=zeros(w,w); for k=1:n+1 v=1; for j=1:n+1 if(k~=j) v=conv(v,poly(x(j)))/(x(k)-x(j)); end end l(k,:)=v; end c=y*l; end

第二步:然后在matlab命令窗口输入: >>>> x=[0.4 0.55 0.65 0.80,0.95 1.05];y=[0.41075 0.57815 0.69675 0.90 1.00 1.25382]; >>p = lagran(x,y) 回车得到: P = 121.6264 -422.7503 572.5667 -377.2549 121.9718 -15.0845 由此得出所求拉格朗日多项式为 p(x)=121.6264x5-422.7503x4+572.5667x3-377.2549x2+121.9718x-15.0845 第三步:在编辑窗口输入如下命令: >> x=[0.4 0.55 0.65 0.80,0.95 1.05]; >> y=121.6264*x.^5-422.7503*x.^4+572.5667*x.^3-377.2549*x.^2+121.9718 *x-15.0845; >> plot(x,y) 命令执行后得到如下图所示图形,然后 >> x=0.596; >> y=121.6264*x.^5-422.7503*x.^4+572.5667*x.^3-377.2549*x.^2+121.9718 *x-15.084 y =0.6257 得到f(0.596)=0.6257 同理得到f(0.99)=1.0542

相关文档
最新文档