文档库 最新最全的文档下载
当前位置:文档库 › 自动控制原理实验报告资料

自动控制原理实验报告资料

自动控制原理实验报告资料
自动控制原理实验报告资料

自动控制原理及其应用

实验报告

2015年 12 月

实验一控制系统典型环节的模拟实验

一、实验目的

1.掌握控制系统中各典型环节的电路模拟及其参数的测定方法。

2.测量典型环节的阶跃响应曲线,了解参数变化对环节输出性能的影响。

二、实验内容

1.对表一所示各典型环节的传递函数设计相应的模拟电路(参见表二) 表一:典型环节的方块图及传递函数

2.测试各典型环节在单位阶跃信号作用下的输出响应。

3.改变各典型环节的相关参数,观测对输出响应的影响。

三、实验内容及步骤

(一)说明部分

1、当信号发生器单元U1的ST端与+5V端用“短路块”短接时,通用单元中的场效应管处于开路状态,这时通用单元运放处于工作状态。当信号发生器单元U1的ST端与S端用“短路块”短接时,通用单元中的场效应管处于短路状态,可以使电容器放电,让电容器两端的初始电压为0V。

2、交直流数字电压表: U16单元的交直流数字电压表相当于两只表,红色琴键开关弹起时,做直流数字电压表用,当红色琴键开关按下时,做交流数字毫伏表用。测量范围0~20V,分200mV、2V、20V三档,由互锁开关切换。

3、阶跃信号的产生:电路可采用图1-1所示电路连接,它由“阶跃信号单元”(U3)及“给定单元”(U4)组成。

具体线路形成:在U3单元中,将H1与+5V端用1号实验导线连接,H2端用1号实验导线接至U4单元的X端;在U4单元中,将Z端和GND端用1号实验导线连接,最后由插座的Y端引出输出信号。

实验中需要阶跃信号时,按照图1-1连线,按下U3单元的按键SP不放开,调节U4单元W41电位器,同时用U16单元的直流数字电压表检测U4单元Y端输出电压的大小(U4单元Y端接至交直流数字电压表的左边的接线柱, 交直流数字电压表的右边的接线柱接通用单元的GND 端),直到输出1V单位阶跃信号时放开。

注:以后实验中再用到ST短路帽放置位置、阶跃信号产生时,操作方法参上。

(二)观测比例、积分、比例积分、比例微分和惯性环节的单位阶跃响应曲线。

1.1比例环节电路

实验步骤:

①准备:U1单元的ST端与+5V端用“短路块”短接,输入信号Ui采用阶跃信号产生电路。按表二中的比例典型环节的模拟电路图将线接好,各器件的参数可参考表三。

②将模拟电路输入端(Ui)与阶跃信号的输出端Y相连接,接至示波器的CH1通道;模拟电路的输出端(Uo)接至示波器CH2通道。

③打开软件,在菜单栏选择:“窗口—调试”,按下实验箱上复位键,待调试窗口中出现“WELCOME TO YOU”后。在菜单栏选择:“窗口—示波器”,如下图所示窗口。本实验中选用普通示波器,按下U3单元按钮(或松开按钮)SP时,用示波器观测输出端的实际响应曲线Uo(t),且将结果记下。改变比例参数,重新观测结果。

④同理按照上面的步骤得比例、积分、比例积分的实际响应曲线,它们的理想曲线和实际响应曲线参见表三。

比例环节电路

短路块短接ST端与+5V端时图

短路块短接ST端与S端时图

1.2 积分环节电路

①准备:U1单元的ST端与+5V端用“短路块”短接,输入信号Ui采用阶跃信号产生电路。按表二中的比例典型环节的模拟电路图将线接好,各器件的参数可参考表三。

②实验步骤参照比例环节的②、③。将结果记下,改变积分参数,重新观测结果。

注意:实验中重复采集波形前,可将U1单元的ST端与S端用“短路块”先短接一下,使通用单元中的场效应管处于短路状态,输出曲线先归零后,再将U1单元的ST端与+5V端用“短路块”短接,正常开始实验。

积分环节电路

短路块短接ST端与+5V端时图

短路块短接ST端与S端时图

1.3比例积分环节电路

①准备:U1单元的ST端与+5V端用“短路块”短接,输入信号Ui采用阶跃信号产生电路。按表二中的比例积分典型环节、比例微分典型环节、惯性典型环节的模拟电路图将线接好,各器件的参数可参考表三。

②实验步骤同积分环节电路。

比例积分环节电路

短路块短接ST端与+5V端时图

短路块短接ST端与S端时图

实验二 线性定常系统的瞬态响应和稳定性分析

一、实验目的

1.通过二阶、三阶系统的模拟电路实验,掌握线性定常系统动、静态性能的一般测试方法。

2.研究二阶、三阶系统的参数与其动、静态性能间的关系。

二、实验原理

1.二阶系统

图2-1为二阶系统的方块图。由图可知,系统的开环传递函数 G(S)=

)1S T (S K

)1S T (S K 111+=+τ,式中K=τ

1K

相应的闭环传递函数为

1

12121T K S T 1S T K

K

S S T K

)S (R )S (C +

+=

++= ………………………① 二阶系统闭环传递函数的标准形式为

)S (R )

S (C =n 2n 2n 2S 2S ω+ξω+ω ………………………② 比较式①、②得:ωn =

1

1

1T K T K τ= ………………………③ ξ=1

KT 21=

1

1K T 2

………………………④

图中τ=1s ,T 1=0.1s

图2-1

表一列出了有关二阶系统在三种情况(欠阻尼,临界阻尼、过阻尼)下具体参数的表达式,

以便计算理论值。

图2-2为图2-1的模拟电路,其中τ=1s ,T 1=0.1s ,K 1分别为10、5、2.5、1,即当电路中的电阻R 值分别为10K 、20K 、40K 、100K 时系统相应的阻尼比ξ为0.5、2

1、1、1.58,它

们的单位阶跃响应曲线为表二所示。

表二:二阶系统不同ξ值时的单位阶跃响应

②模拟电路图:

G(S

)=)1S 1.0(S K 1+=

)

1S 1.0(S R K

100+ K1=100K/R ξ=

1

1K 2K 10

ωn=1K 10

三、实验内容

1.通过对二阶系统开环增益的调节,使系统分别呈现为欠阻尼0<ξ<1(R=10K ,K=10),临界阻尼ξ=1(R=40K ,K=2.5)和过阻尼ξ>1(R=100K ,K=1)三种状态,并用示波器记录它们的阶跃响应曲线。

2.通过对二阶系统开环增益K 的调节,使系统的阻尼比ξ=

2

1=0.707(R=20K ,K=5),观

测此时系统在阶跃信号作用下的动态性能指标:超调量Mp ,上升时间t p 和调整时间t s 。

3.研究三阶系统的开环增益K 或一个慢性环节时间常数T 的变化对系统动态性能的影响。 4.由实验确定三阶系统临界K 值,并与理论计算结果进行比较。

四、实验步骤

准备工作:将“信号发生器单元”U1的ST 端和+5V 端用“短路块”短接,并使运放反馈网络上的场效应管3DJ6夹断。本试验中选用普通示波器。

1.二阶系统瞬态性能的测试

①按图2-2接线,图中的输入信号r(t)参照实验一中阶跃信号的产生方法。

使图中R 分别等于100K 、40K 、10K 时,用示波器分别观测系统阶跃的输出响应波形,响应曲线参见表一、二。

R=10K时图

R=40K时图

R=100K时图

②调节R,使R=20K(此时ξ=0.707),然后用示波器观测系统的阶跃响应曲线,并由曲线测出超调量Mp,上升时间t p和调整时间t s。并将测量值与理论计算值进行比较,参数取值及响应曲线参见表一、二。

五、实验思考题

1.为什么图2-1所示的二阶系统不论K增至多大,该系统总是稳定的?

答:其自身有保护程序,随着只得增大,自身会做调整

2.通过改变三阶系统的开环增益K和第一个惯性环节的时间常数,讨论得出它们的变化对系统的动态性能产生什么影响?

答:增加K可以增加超调量,增加时间常数可以增加系统的调节时间

实验四 控制系统的频率特性

1.被测系统的方块图及原理:图4—1

图4—1 被测系统方块图

系统(或环节)的频率特性G(j ω)是一个复变量,可以表示成以角频率ω为参数的幅值和相角。

G(j ω)=|G(j ω)| G(j ω) (4—1) 本实验应用频率特性测试仪测量系统或环节的频率特性。 图4—1所示系统的开环频率特性为: G 1(j ω) G 2(j ω)H(j ω)=

)

j (E )

j (B /|)j (E )j (B |)j (E )j (B ωωωω=ωω (4—2) 采用对数幅频特性和相频特性表示,则式(4—2)表示为:

20lg|G 1(j ω) G 2(j ω)H(j ω)|=20lg|)

j (E )

j (B ωω|

=20lg|B(j ω)| —20lg|E(j ω)| (4—3) G 1(j ω) G 2(j ω)H(j ω)=/

)

j (E )

j (B ωω= / B(j ω)—/E(j ω) (4—4) 将频率特性测试仪内信号发生器产生的超低频正弦信号的频率从低到高变化,并施加于被测系统的输入端[r(t)],然后分别测量相应的反馈信号[b(t)]和误差信号[e(t)]的对数幅值和相位。频率特性测试仪测试数据经相关器件运算后在显示器中显示。

根据式(4—3)和式(4—4)分别计算出各个频率下的开环对数幅值和相位,在半对数坐标纸上作出实验曲线:开环对数幅频曲线和相频曲线。

根据实验开环对数幅频曲线画出开环对数幅频曲线的渐近线,再根据渐近线的斜率和转角频确定频率特性(或传递函数)。所确定的频率特性(或传递函数)的正确性可以由测量的相频曲线来检验,对最小相位系统而言,实际测量所得的相频曲线必须与由确定的频率特性(或传递函

数)所画出的理论相频曲线在一定程度上相符。如果测量所得的相位在高频(相对于转角频率)时不等于-90°(q-p)[式中p和q分别表示传递函数分子和分母的阶次],那么,频率特性(或传递函数)必定是一个非最小相位系统的频率特性。

2.被测系统的模拟电路图:见图4-2

图4—2 被测系统

注意:所测点-c(t)、-e(t)由于反相器的作用,输出均为负值,若要测其正的输出点,可分别在-c(t)、-e(t)之后串接一组1/1的比例环节,比例环节的输出即为c(t)、e(t)的正输出。

3.实验内容及步骤

本实验中请使用频率特性分析示波器,如下图所示。

在此实验中,我们利用TKKL-4型系统中的U15的D/A转换单元将提供频率和幅值均可调的基准正弦信号源,作为被测对象的输入信号,而TKKL-4型系统中测量单元的CH1通道用来观测被测环节的输出,选择不同角频率及幅值的正弦信号源作为对象的输入,可测得相应的环节输出,并在PC机屏幕上显示,我们可以根据所测得的数据正确描述对象的幅频和相频特性图。

具体实验步骤如下:

(1)将U15的D/A转换单元的OUT端接到对象的输入端。

(2)将测量单元的CH1(必须拨为乘1档)接至对象的输出端。

(3)将U1信号发生器单元的ST和S端断开,用1号实验导线将ST端接至CPU单元中的PB10。(由于在每次测量前,应对对象进行一次回零操作,ST即为对象锁零控制端,在这里,我们用8255的PB10口对ST进行程序控制)

(4)按菜单栏中“修改参数”图标,如下图中所示,输入相应的角频率,并输入合适的幅值,按“确定”键后,输入的角频率开始闪烁,直至测量完毕时停止,屏幕即显示所测对象的输出及信号源,移动游标,可得到相应的幅值和相位。

(5)如需重新测试,则按菜单栏的“开始”键,系统会清除当前的测试结果,并输入新的角频率,准备开始进行下次测试。

(6)根据测量在不同频率和幅值的信号源作用下系统误差e(t)及反馈c(t)的幅值、相对于信号源的相角差,用户可自行计算并画出闭环系统的开环幅频和相频曲线。

4.实验数据处理及被测系统的开环对数幅频曲线和相频曲线

实验中,由于传递函数是经拉氏变换推导出的,而拉氏变换是一种线性积分运算,因此它适用于线性定常系统,所以必须用示波器观察系统各环节波形,避免系统进入非线性状态。

根据表4-1的实验测量得的数据,画出开环对数幅频线和相频曲线,如图4-3所示。

根据曲线,求出系统的传函G(S)=)1TS (S K

+

12=20lgK →K=4

其中 系统开环传函为G(S)=)

1S 01.0(S 4

+

T=

100

1

=0.01 实验中,系统输入正弦信号的幅值不能太大,否则反馈幅值更大,不易读出,同理,太小也不易读出。

图4—3

角频率为0.1反馈信号图角频率为0.1误差信号图

角频率为1反馈信号图角频率为1误差信号图

角频率为10反馈信号图角频率为10误差信号图

角频率为100反馈信号图角频率为100误差信号图

自动控制原理实验报告

《自动控制原理》 实验报告 姓名: 学号: 专业: 班级: 时段: 成绩: 工学院自动化系

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、实验原理 1.比例环节的传递函数为 K R K R R R Z Z s G 200,1002)(211 212==-=-=- = 其对应的模拟电路及SIMULINK 图形如图1-3所示。 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G ; ② 惯性环节11)(1+= s s G 和1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节s s G =)(1 ⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G ⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+= 四、实验结果及分析 图1-3 比例环节的模拟电路及SIMULINK 图形

① 仿真模型及波形图1)(1=s G 和2)(1=s G ② 仿真模型及波形图11)(1+= s s G 和1 5.01)(2+=s s G 11)(1+= s s G 1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节

排序操作实验报告

数据结构与算法设计 实验报告 (2016 — 2017 学年第1 学期) 实验名称: 年级: 专业: 班级: 学号: 姓名: 指导教师: 成都信息工程大学通信工程学院

一、实验目的 验证各种简单的排序算法。在调试中体会排序过程。 二、实验要求 (1)从键盘读入一组无序数据,按输入顺序先创建一个线性表。 (2)用带菜单的主函数任意选择一种排序算法将该表进行递增排序,并显示出每一趟排序过程。 三、实验步骤 1、创建工程(附带截图说明) 2、根据算法编写程序(参见第六部分源代码) 3、编译 4、调试 四、实验结果图 图1-直接输入排序

图2-冒泡排序 图3-直接选择排序 五、心得体会 与哈希表的操作实验相比,本次实验遇到的问题较大。由于此次实验中设计了三种排序方法导致我在设计算法时混淆了一些概念,设计思路特别混乱。虽然在理清思路后成功解决了直接输入和直接选择两种算法,但冒泡

排序的算法仍未设计成功。虽然在老师和同学的帮助下完成了冒泡排序的算法,但还需要多练习这方面的习题,平时也应多思考这方面的问题。而且,在直接输入和直接选择的算法设计上也有较为复杂的地方,对照书本做了精简纠正。 本次实验让我发现自己在算法设计上存在一些思虑不周的地方,思考问题过于片面,逻辑思维能力太过单薄,还需要继续练习。 六、源代码 要求:粘贴个人代码,以便检查。 #include #define MAXSIZE 100 typedef int KeyType; typedef int DataType; typedef struct{ KeyType key; DataType data; }SortItem,SqList[MAXSIZE]; /*******直接插入顺序表*******/ void InsertSort(SqList L,int n) { int i,j,x; SortItem p; for(i=1;i

数据挖掘实验报告

《数据挖掘》Weka实验报告 姓名_学号_ 指导教师 开课学期2015 至2016 学年 2 学期完成日期2015年6月12日

1.实验目的 基于https://www.wendangku.net/doc/8a13620876.html,/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori- ginal%29的数据,使用数据挖掘中的分类算法,运用Weka平台的基本功能对数据集进行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行对比实验,并画出性能比较图训练并测试。 2.实验环境 实验采用Weka平台,数据使用来自https://www.wendangku.net/doc/8a13620876.html,/ml/Datasets/Br- east+Cancer+WiscOnsin+%28Original%29,主要使用其中的Breast Cancer Wisc- onsin (Original) Data Set数据。Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 3.实验步骤 3.1数据预处理 本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size (均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁),Mitoses(有丝分裂),Class(分类),其中第二项到第十项取值均为1-10,分类中2代表良性,4代表恶性。通过实验,希望能找出患乳腺癌客户各指标的分布情况。 该数据的数据属性如下: 1. Sample code number(numeric),样本代码; 2. Clump Thickness(numeric),丛厚度;

自动控制原理实验报告

实验报告 课程名称:自动控制原理 实验项目:典型环节的时域相应 实验地点:自动控制实验室 实验日期:2017 年 3 月22 日 指导教师:乔学工 实验一典型环节的时域特性 一、实验目的 1.熟悉并掌握TDN-ACC+设备的使用方法及各典型环节模拟电路的构成方法。

2.熟悉各种典型环节的理想阶跃相应曲线和实际阶跃响应曲线。对比差异,分析原因。 3.了解参数变化对典型环节动态特性的影响。 二、实验设备 PC 机一台,TD-ACC+(或TD-ACS)实验系统一套。 三、实验原理及内容 下面列出各典型环节的方框图、传递函数、模拟电路图、阶跃响应,实验前应熟悉了解。 1.比例环节 (P) (1)方框图 (2)传递函数: K S Ui S Uo =) () ( (3)阶跃响应:) 0()(≥=t K t U O 其中 01/R R K = (4)模拟电路图: (5) 理想与实际阶跃响应对照曲线: ① 取R0 = 200K ;R1 = 100K 。 ② 取R0 = 200K ;R1 = 200K 。

2.积分环节 (I) (1)方框图 (2)传递函数: TS S Ui S Uo 1 )()(= (3)阶跃响应: ) 0(1)(≥= t t T t Uo 其中 C R T 0= (4)模拟电路图 (5) 理想与实际阶跃响应曲线对照: ① 取R0 = 200K ;C = 1uF 。 ② 取R0 = 200K ;C = 2uF 。

1 Uo 0t Ui(t) Uo(t) 理想阶跃响应曲线 0.4s 1 Uo 0t Ui(t) Uo(t) 实测阶跃响应曲线 0.4s 10V 无穷 3.比例积分环节 (PI) (1)方框图: (2)传递函数: (3)阶跃响应: (4)模拟电路图: (5)理想与实际阶跃响应曲线对照: ①取 R0 = R1 = 200K;C = 1uF。 理想阶跃响应曲线实测阶跃响应曲线 ②取 R0=R1=200K;C=2uF。 K 1 + U i(S)+ U o(S) + Uo 10V U o(t) 2 U i(t ) 0 0 .2s t Uo 无穷 U o(t) 2 U i(t ) 0 0 .2s t

数据挖掘实验报告(一)

数据挖掘实验报告(一) 数据预处理 姓名:李圣杰 班级:计算机1304 学号:1311610602

一、实验目的 1.学习均值平滑,中值平滑,边界值平滑的基本原理 2.掌握链表的使用方法 3.掌握文件读取的方法 二、实验设备 PC一台,dev-c++5.11 三、实验内容 数据平滑 假定用于分析的数据包含属性age。数据元组中age的值如下(按递增序):13, 15, 16, 16, 19, 20, 20, 21, 22, 22, 25, 25, 25, 25, 30, 33, 33, 35, 35, 35, 35, 36, 40, 45, 46, 52, 70。使用你所熟悉的程序设计语言进行编程,实现如下功能(要求程序具有通用性): (a) 使用按箱平均值平滑法对以上数据进行平滑,箱的深度为3。 (b) 使用按箱中值平滑法对以上数据进行平滑,箱的深度为3。 (c) 使用按箱边界值平滑法对以上数据进行平滑,箱的深度为3。 四、实验原理 使用c语言,对数据文件进行读取,存入带头节点的指针链表中,同时计数,均值求三个数的平均值,中值求中间的一个数的值,边界值将中间的数转换为离边界较近的边界值 五、实验步骤 代码 #include #include #include #define DEEP 3 #define DATAFILE "data.txt" #define VPT 10 //定义结构体 typedef struct chain{ int num; struct chain *next; }* data; //定义全局变量 data head,p,q; FILE *fp; int num,sum,count=0; int i,j; int *box; void mean(); void medain(); void boundary(); int main () { //定义头指针 head=(data)malloc(sizeof(struc t chain)); head->next=NULL; /*打开文件*/ fp=fopen(DATAFILE,"r"); if(!fp) exit(0); p=head; while(!feof(fp)){

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

排序问题实验报告

2010级数据结构实验报告 实验名称:排序 姓名:袁彬 班级: 2009211120 班内序号: 09 学号: 09210552 日期: 2010 年12 月19 日 1.实验要求 试验目的: 通过选择试验内容中的两个题目之一,学习、实现、对比各种排序的算法,掌握各种排序算法的优缺点,以及各种算法使用的情况。 试验内容: 题目一: 使用简单数组实现下面各种排序算法,并进行比较。 排序算法如下: ①插入排序; ②希尔排序 ③冒泡排序; ④快速排序; ⑤简单选择排序; ⑥堆排序 ⑦归并排序 ⑧基数排序 ⑨其他。 具体要求如下: ①测试数据分为三类:正序,逆序,随机数据。 ②对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换记为三次移动)。 ③对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙。 ④对②和③的结果进行分析,验证上述各种算法的时间复杂度。 ⑤编写main()函数测试各种排序算法的正确性。 题目二: 使用链表实现下面各种排序算法,并进行比较。 排序算法如下: ①插入排序; ②冒泡排序; ③快速排序;

④简单选择排序; ⑤其他。 具体要求如下: ①测试数据分为三类:正序,逆序,随机数据。 ②对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换记为三次移动)。 ③对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙(选作) ④对②和③的结果进行分析,验证上述各种算法的时间复杂度。 ⑤编写main()函数测试各种排序算法的正确性。 2. 程序分析 2.1 存储结构 程序中每一个算法均是用一个类来表示的,类中有自己的构造函数、排序函数。 程序的储存结构采用数组。数组的第一个位置不存储数据。数据从第二个位置开始。数组中的相对位置为数组的下标。 2.2 关键算法分析 ㈠、关键算法: 1、插入排序函数:Insert s ort(int n) ①、从2开始做循环,依次和前面的数进行比较:for(int i=2;i<=n;i++) ②、如果后面的比前面的小,则进行前移:if(number[i]=1;d=d/2) ②、在自己的间隔中进行简单插入排序,进行循环:for(int i=d+1;i<=n;i++) ③、如果后面的数据比前面的小,进行前移:if(number[i]0;j=j-d) ⑥、大的数据后移:number[j+d]=number[j]; ⑦、哨兵归位:number[j+d]=number[0]; 3、冒泡排序函数:Bubble s ort(int n) ①、设置有序无序的边界点:int pos=n; ②、当边界点不为空进行循环:while(pos!=0) ③、边界点传递给bound:int bound=pos; ④、从开始到边界点进行循环:for(int i=1;inumber[i+1]) ⑥、交换:number[0]=number[i];number[i]=number[i+1];number[i+1]=number[0]; ⑦、从小设置边界点:pos=i; 4、一趟快速排序函数:partion(int first,int end) ①、传递设置整个数据的起点和终点:int i=first;int j=end; ②、设置中轴:number[0]=number[i]; ③、当end大于first进行循环:while(i

数据挖掘实验报告资料

大数据理论与技术读书报告 -----K最近邻分类算法 指导老师: 陈莉 学生姓名: 李阳帆 学号: 201531467 专业: 计算机技术 日期 :2016年8月31日

摘要 数据挖掘是机器学习领域内广泛研究的知识领域,是将人工智能技术和数据库技术紧密结合,让计算机帮助人们从庞大的数据中智能地、自动地提取出有价值的知识模式,以满足人们不同应用的需要。K 近邻算法(KNN)是基于统计的分类方法,是大数据理论与分析的分类算法中比较常用的一种方法。该算法具有直观、无需先验统计知识、无师学习等特点,目前已经成为数据挖掘技术的理论和应用研究方法之一。本文主要研究了K 近邻分类算法,首先简要地介绍了数据挖掘中的各种分类算法,详细地阐述了K 近邻算法的基本原理和应用领域,最后在matlab环境里仿真实现,并对实验结果进行分析,提出了改进的方法。 关键词:K 近邻,聚类算法,权重,复杂度,准确度

1.引言 (1) 2.研究目的与意义 (1) 3.算法思想 (2) 4.算法实现 (2) 4.1 参数设置 (2) 4.2数据集 (2) 4.3实验步骤 (3) 4.4实验结果与分析 (3) 5.总结与反思 (4) 附件1 (6)

1.引言 随着数据库技术的飞速发展,人工智能领域的一个分支—— 机器学习的研究自 20 世纪 50 年代开始以来也取得了很大进展。用数据库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后的知识,这两者的结合促成了数据库中的知识发现(Knowledge Discovery in Databases,简记 KDD)的产生,也称作数据挖掘(Data Ming,简记 DM)。 数据挖掘是信息技术自然演化的结果。信息技术的发展大致可以描述为如下的过程:初期的是简单的数据收集和数据库的构造;后来发展到对数据的管理,包括:数据存储、检索以及数据库事务处理;再后来发展到对数据的分析和理解, 这时候出现了数据仓库技术和数据挖掘技术。数据挖掘是涉及数据库和人工智能等学科的一门当前相当活跃的研究领域。 数据挖掘是机器学习领域内广泛研究的知识领域,是将人工智能技术和数据库技术紧密结合,让计算机帮助人们从庞大的数据中智能地、自动地抽取出有价值的知识模式,以满足人们不同应用的需要[1]。目前,数据挖掘已经成为一个具有迫切实现需要的很有前途的热点研究课题。 2.研究目的与意义 近邻方法是在一组历史数据记录中寻找一个或者若干个与当前记录最相似的历史纪录的已知特征值来预测当前记录的未知或遗失特征值[14]。近邻方法是数据挖掘分类算法中比较常用的一种方法。K 近邻算法(简称 KNN)是基于统计的分类方法[15]。KNN 分类算法根据待识样本在特征空间中 K 个最近邻样本中的多数样本的类别来进行分类,因此具有直观、无需先验统计知识、无师学习等特点,从而成为非参数分类的一种重要方法。 大多数分类方法是基于向量空间模型的。当前在分类方法中,对任意两个向量: x= ) ,..., , ( 2 1x x x n和) ,..., , (' ' 2 ' 1 'x x x x n 存在 3 种最通用的距离度量:欧氏距离、余弦距 离[16]和内积[17]。有两种常用的分类策略:一种是计算待分类向量到所有训练集中的向量间的距离:如 K 近邻选择K个距离最小的向量然后进行综合,以决定其类别。另一种是用训练集中的向量构成类别向量,仅计算待分类向量到所有类别向量的距离,选择一个距离最小的类别向量决定类别的归属。很明显,距离计算在分类中起关键作用。由于以上 3 种距离度量不涉及向量的特征之间的关系,这使得距离的计算不精确,从而影响分类的效果。

北航自动控制原理实验报告(完整版)

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 1、了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系 2、学习在电子模拟机上建立典型环节系统模型的方法 3、学习阶跃响应的测试方法 三、实验内容 1、建立一阶系统的电子模型,观测并记录在不同时间常数T时的响应曲线,测定过渡过程时间T s 2、建立二阶系统电子模型,观测并记录不同阻尼比的响应曲线,并测定超调量及过渡过程时间T s 四、实验原理及实验数据 一阶系统 系统传递函数: 由电路图可得,取则K=1,T分别取:0.25, 0.5, 1 T 0.25 0.50 1.00 R2 0.25MΩ0.5M Ω1MΩ C 1μ1μ1μ T S 实测0.7930 1.5160 3.1050 T S 理论0.7473 1.4962 2.9927 阶跃响应曲线图1.1 图1.2 图1.3 误差计算与分析 (1)当T=0.25时,误差==6.12%; (2)当T=0.5时,误差==1.32%; (3)当T=1时,误差==3.58% 误差分析:由于T决定响应参数,而,在实验中R、C的取值上可能存在一定误差,另外,导线的连接上也存在一些误差以及干扰,使实验结果与理论值之间存在一定误差。但是本实验误差在较小范围内,响应曲线也反映了预期要求,所以本实验基本得到了预期结果。 实验结果说明 由本实验结果可看出,一阶系统阶跃响应是单调上升的指数曲线,特征有T确定,T越小,过度过程进行得越快,系统的快速性越好。 二阶系统 图1.1 图1.2 图1.3

系统传递函数: 令 二阶系统模拟线路 0.25 0.50 1.00 R4 210.5 C2 111 实测45.8% 16.9% 0.6% 理论44.5% 16.3% 0% T S实测13.9860 5.4895 4.8480 T S理论14.0065 5.3066 4.8243 阶跃响应曲线图2.1 图2.2 图2.3 注:T s理论根据matlab命令[os,ts,tr]=stepspecs(time,output,output(end),5)得出,否则误差较大。 误差计算及分析 1)当ξ=0.25时,超调量的相对误差= 调节时间的相对误差= 2)当ξ=0.5时,超调量的相对误差==3.7% 调节时间的相对误差==3.4% 4)当ξ=1时,超调量的绝对误差= 调节时间的相对误差==3.46% 误差分析:由于本试验中,用的参量比较多,有R1,R2,R3,R4;C1,C2;在它们的取值的实际调节中不免出现一些误差,误差再累加,导致最终结果出现了比较大的误差,另外,此实验用的导线要多一点,干扰和导线的传到误差也给实验结果造成了一定误差。但是在观察响应曲线方面,这些误差并不影响,这些曲线仍旧体现了它们本身应具有的特点,通过比较它们完全能够了解阶跃响应及其性能指标与系统参数之间的关系,不影响预期的效果。 实验结果说明 由本实验可以看出,当ωn一定时,超调量随着ξ的增加而减小,直到ξ达到某个值时没有了超调;而调节时间随ξ的增大,先减小,直到ξ达到某个值后又增大了。 经理论计算可知,当ξ=0.707时,调节时间最短,而此时的超调量也小于5%,此时的ξ为最佳阻尼比。此实验的ξ分布在0.707两侧,体现了超调量和调节时间随ξ的变化而变化的过程,达到了预期的效果。 图2.2 图2.1 图2.3

各种排序实验报告

【一】需求分析 课程题目是排序算法的实现,课程设计一共要设计八种排序算法。这八种算法共包括:堆排序,归并排序,希尔排序,冒泡排序,快速排序,基数排序,折半插入排序,直接插入排序。 为了运行时的方便,将八种排序方法进行编号,其中1为堆排序,2为归并排序,3为希尔排序,4为冒泡排序,5为快速排序,6为基数排序,7为折半插入排序8为直接插入排序。 【二】概要设计 1.堆排序 ⑴算法思想:堆排序只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。将序列所存储的元素A[N]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的元素均不大于(或不小于)其左右孩子(若存在)结点的元素。算法的平均时间复杂度为O(N log N)。 ⑵程序实现及核心代码的注释: for(j=2*i+1; j<=m; j=j*2+1) { if(j=su[j]) break; su[i]=su[j]; i=j; } su[i]=temp; } void dpx() //堆排序 { int i,temp; cout<<"排序之前的数组为:"<=0; i--) { head(i,N); } for(i=N-1; i>0; i--) {

temp=su[i]; su[i]=su[0]; su[0]=temp; head(0,i-1); } cout<<"排序之后的数组为:"<

数据挖掘实验报告-关联规则挖掘

数据挖掘实验报告(二)关联规则挖掘 姓名:李圣杰 班级:计算机1304 学号:1311610602

一、实验目的 1. 1.掌握关联规则挖掘的Apriori算法; 2.将Apriori算法用具体的编程语言实现。 二、实验设备 PC一台,dev-c++5.11 三、实验内容 根据下列的Apriori算法进行编程:

四、实验步骤 1.编制程序。 2.调试程序。可采用下面的数据库D作为原始数据调试程序,得到的候选1项集、2项集、3项集分别为C1、C2、C3,得到的频繁1项集、2项集、3项集分别为L1、L2、L3。

代码 #include #include #define D 4 //事务的个数 #define MinSupCount 2 //最小事务支持度数 void main() { char a[4][5]={ {'A','C','D'}, {'B','C','E'}, {'A','B','C','E'}, {'B','E'} }; char b[20],d[100],t,b2[100][10],b21[100 ][10]; int i,j,k,x=0,flag=1,c[20]={0},x1=0,i1 =0,j1,counter=0,c1[100]={0},flag1= 1,j2,u=0,c2[100]={0},n[20],v=1; int count[100],temp; for(i=0;i=MinSupCount) { d[x1]=b[k]; count[x1]=c[k]; x1++; } } //对选出的项集中的元素进行排序 for(i=0;i

数据结构内排序实验报告

一、实验目的 1、了解内排序都是在内存中进行的。 2、为了提高数据的查找速度,需要对数据进行排序。 3、掌握内排序的方法。 二、实验内容 1、设计一个程序e xp10—1.cpp实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序 过程。 (1)源程序如下所示: //文件名:exp10-1.cpp #include #define MAXE 20 //线性表中最多元素个数 typedef int KeyType; typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType } RecType; void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序 { int i,j,k; RecType temp; for (i=1;i=0 && temp.key

数据分析与挖掘实验报告

数据分析与挖掘实验报告

《数据挖掘》实验报告 目录 1.关联规则的基本概念和方法 (1) 1.1数据挖掘 (1) 1.1.1数据挖掘的概念 (1) 1.1.2数据挖掘的方法与技术 (2) 1.2关联规则 (5) 1.2.1关联规则的概念 (5) 1.2.2关联规则的实现——Apriori算法 (7) 2.用Matlab实现关联规则 (12) 2.1Matlab概述 (12) 2.2基于Matlab的Apriori算法 (13) 3.用java实现关联规则 (19) 3.1java界面描述 (19) 3.2java关键代码描述 (23) 4、实验总结 (29) 4.1实验的不足和改进 (29) 4.2实验心得 (30)

1.关联规则的基本概念和方法 1.1数据挖掘 1.1.1数据挖掘的概念 计算机技术和通信技术的迅猛发展将人类社会带入到了信息时代。在最近十几年里,数据库中存储的数据急剧增大。数据挖掘就是信息技术自然进化的结果。数据挖掘可以从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的,人们事先不知道的但又是潜在有用的信息和知识的过程。 许多人将数据挖掘视为另一个流行词汇数据中的知识发现(KDD)的同义词,而另一些人只是把数据挖掘视为知识发现过程的一个基本步骤。知识发现过程如下: ·数据清理(消除噪声和删除不一致的数据)·数据集成(多种数据源可以组合在一起)·数据转换(从数据库中提取和分析任务相关的数据) ·数据变换(从汇总或聚集操作,把数据变换和统一成适合挖掘的形式) ·数据挖掘(基本步骤,使用智能方法提取数

据模式) ·模式评估(根据某种兴趣度度量,识别代表知识的真正有趣的模式) ·知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)。 1.1.2数据挖掘的方法与技术 数据挖掘吸纳了诸如数据库和数据仓库技术、统计学、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息检索、图像和信号处理以及空间数据分析技术的集成等许多应用领域的大量技术。数据挖掘主要包括以下方法。神经网络方法:神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分3大类:以感知机、bp反向传播模型、函数型网络为代表的,用于分类、预测和模式识别的前馈式神经网络模型;以hopfield 的离散模型和连续模型为代表的,分别用于联想记忆和优化计算的反馈式神经网络模型;以art 模型、koholon模型为代表的,用于聚类的自组

大数据挖掘weka大数据分类实验报告材料

一、实验目的 使用数据挖掘中的分类算法,对数据集进行分类训练并测试。应用不同的分类算法,比较他们之间的不同。与此同时了解Weka平台的基本功能与使用方法。 二、实验环境 实验采用Weka 平台,数据使用Weka安装目录下data文件夹下的默认数据集iris.arff。 Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java 写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 三、数据预处理 Weka平台支持ARFF格式和CSV格式的数据。由于本次使用平台自带的ARFF格式数据,所以不存在格式转换的过程。实验所用的ARFF格式数据集如图1所示 图1 ARFF格式数据集(iris.arff)

对于iris数据集,它包含了150个实例(每个分类包含50个实例),共有sepal length、sepal width、petal length、petal width和class五种属性。期中前四种属性为数值类型,class属性为分类属性,表示实例所对应的的类别。该数据集中的全部实例共可分为三类:Iris Setosa、Iris Versicolour和Iris Virginica。 实验数据集中所有的数据都是实验所需的,因此不存在属性筛选的问题。若所采用的数据集中存在大量的与实验无关的属性,则需要使用weka平台的Filter(过滤器)实现属性的筛选。 实验所需的训练集和测试集均为iris.arff。 四、实验过程及结果 应用iris数据集,分别采用LibSVM、C4.5决策树分类器和朴素贝叶斯分类器进行测试和评价,分别在训练数据上训练出分类模型,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 1、LibSVM分类 Weka 平台内部没有集成libSVM分类器,要使用该分类器,需要下载libsvm.jar并导入到Weka中。 用“Explorer”打开数据集“iris.arff”,并在Explorer中将功能面板切换到“Classify”。点“Choose”按钮选择“functions(weka.classifiers.functions.LibSVM)”,选择LibSVM分类算法。 在Test Options 面板中选择Cross-Validatioin folds=10,即十折交叉验证。然后点击“start”按钮:

内部排序比较 (实验报告+源程序)C++

实验报告3 实验名称:数据结构与软件设计实习 题目:内部排序算法比较 专业:生物信息学班级:01 姓名:学号:实验日期:2010.07.24 一、实验目的: 比较冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序; 二、实验要求: 待排序长度不小于100,数据可有随机函数产生,用五组不同输入数据做比较,比较的指标为关键字参加比较的次数和关键字移动的次数; 对结果做简单的分析,包括各组数据得出结果的解释; 设计程序用顺序存储。 三、实验内容 对各种内部排序算法的时间复杂度有一个比较直观的感受,包括关键字比较次数和关键字移动次数。 将排序算法进行合编在一起,可考虑用顺序执行各种排序算法来执行,最后输出所有结果。 四、实验编程结果或过程: 1. 数据定义 typedef struct { KeyType key; }RedType; typedef struct { RedType r[MAXSIZE+1]; int length; }SqList; 2. 函数如下,代码详见文件“排序比较.cpp”int Create_Sq(SqList &L) void Bubble_sort(SqList &L)//冒泡排序void InsertSort(SqList &L)//插入排序 void SelectSort(SqList &L) //简单选择排序int Partition(SqList &L,int low,int high) void QSort(SqList &L,int low,int high)//递归形式的快速排序算法 void QuickSort(SqList &L) void ShellInsert(SqList &L,int dk)//希尔排序 void ShellSort(SqList &L,int dlta[ ]) 3. 运行测试结果,运行结果无误,如下图语速个数为20

数据挖掘实验报告 超市商品销售分析及数据挖掘

通信与信息工程学院 课程设计说明书 课程名称: 数据仓库与数据挖掘课程设计题目: 超市商品销售分析及数据挖掘专业/班级: 电子商务(理) 组长: 学号: 组员/学号: 开始时间: 2011 年12 月29 日完成时间: 2012 年01 月 3 日

目录 1.绪论 (1) 1.1项目背景 (1) 1.2提出问题 (1) 2.数据仓库与数据集市的概念介绍 (1) 2.1数据仓库介绍 (1) 2.2数据集市介绍 (2) 3.数据仓库 (3) 3.1数据仓库的设计 (3) 3.1.1数据仓库的概念模型设计 (4) 3.1.2数据仓库的逻辑模型设计 (5) 3.2 数据仓库的建立 (5) 3.2.1数据仓库数据集成 (5) 3.2.2建立维表 (8) 4.OLAP操作 (10) 5.数据预处理 (12) 5.1描述性数据汇总 (12) 5.2数据清理与变换 (13) 6.数据挖掘操作 (13) 6.1关联规则挖掘 (13) 6.2 分类和预测 (17) 6.3决策树的建立 (18) 6.4聚类分析 (22) 7.总结 (25) 8.任务分配 (26)

数据挖掘实验报告 1.绪论 1.1项目背景 在商业领域中使用计算机科学与技术是当今商业的发展方向,而数据挖掘是商业领域与计算机领域的乔梁。在超市的经营中,应用数据挖掘技术分析顾客的购买习惯和不同商品之间的关联,并借由陈列的手法,和合适的促销手段将商品有魅力的展现在顾客的眼前, 可以起到方便购买、节约空间、美化购物环境、激发顾客的购买欲等各种重要作用。 1.2提出问题 那么超市应该对哪些销售信息进行挖掘?怎样挖掘?具体说,超市如何运用OLAP操作和关联规则了解顾客购买习惯和商品之间的关联,正确的摆放商品位置以及如何运用促销手段对商品进行销售呢?如何判断一个顾客的销售水平并进行推荐呢?本次实验为解决这一问题提出了解决方案。 2.数据仓库与数据集市的概念介绍 2.1数据仓库介绍 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”。........ 2.2数据集市介绍 数据集市,也叫数据市场,是一个从操作的数据和其他的为某个特殊的专业人员团体服务的数据源中收集数据的仓库。....... 3.数据仓库 3.1数据仓库的设计 3.1.1数据库的概念模型 3.1.2数据仓库的模型 数据仓库的模型主要包括数据仓库的星型模型图,我们创建了四个

自动控制原理实验报告73809

-150-100 -50 50 实验一 典型环节的模拟研究及阶跃响应分析 1、比例环节 可知比例环节的传递函数为一个常数: 当Kp 分别为0.5,1,2时,输入幅值为1.84的正向阶跃信号,理论上依次输出幅值为0.92,1.84,3.68的反向阶跃信号。实验中,输出信号依次为幅值为0.94,1.88,3.70的反向阶跃信号, 相对误差分别为1.8%,2.2%,0.2%. 在误差允许范围内可认为实际输出满足理论值。 2、 积分环节 积分环节传递函数为: (1)T=0.1(0.033)时,C=1μf (0.33μf ),利用MATLAB ,模拟阶跃信号输入下的输出信号如图: T=0.1 T=0.033 与实验测得波形比较可知,实际与理论值较为吻合,理论上T=0.033时的波形斜率近似为T=0.1时的三倍,实际上为8/2.6=3.08,在误差允许范围内可认为满足理论条件。 3、 惯性环节 i f i o R R U U -=TS 1 CS R 1Z Z U U i i f i 0-=-=-=15 20

惯性环节传递函数为: K = R f /R 1,T = R f C, (1) 保持K = R f /R 1 = 1不变,观测T = 0.1秒,0.01秒(既R 1 = 100K,C = 1μf , 0.1μf )时的输出波形。利用matlab 仿真得到理论波形如下: T=0.1时 t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3%,读数误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值 较为接近。 T=0.01时 t s (5%)理论值为30ms,实际测得t s =40ms 相对误差为:(40-30)/30=33.3% 由于ts 较小,所以读数时误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值较为接近 (2) 保持T = R f C = 0.1s 不变,分别观测K = 1,2时的输出波形。 K=1时波形即为(1)中T0.1时波形 K=2时,利用matlab 仿真得到如下结果: t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3% 读数误差较大 K 理论值为2,实验值4.30/2.28, 1 TS K )s (R )s (C +-=

相关文档
相关文档 最新文档