搜档网
当前位置:搜档网 › 中南大学控制系统仿真实验报告

中南大学控制系统仿真实验报告

中南大学控制系统仿真实验报告
中南大学控制系统仿真实验报告

控制系统仿真实验报告

学院:信息科学与工程学院

班级:

姓名:

学号:

目录

实验一MATLAB语言编程 (3)

一、实验目的 (3)

二、具体实验内容、步骤、要求 (3)

三、实验心得: (5)

实验二数值积分算法练习与函数调用 (6)

一、实验目的 (6)

二、实验题目 (6)

三、实验心得: (13)

实验三控制工具箱与SIMULINK软件应用 (14)

一、实验目的 (14)

二、实验预习要求 (14)

三、学会调出、运行已由SIMULINK建立的仿真模型 (14)

四、实验心得: (16)

实验四数字控制系统仿真与综合应用 (17)

一、实验目的 (17)

二、实验内容 (17)

四、实验心得: (20)

总结: (21)

实验一 MATLAB 语言编程

一、实验目的

1、熟悉Matlab 语言及其环境,掌握编程方法。

2、要求认真听取实验指导老师讲解与演示。

二、具体实验内容、步骤、要求

1、运行交互式学习软件,学习MATLAB 语言;

2、在MATLAB 的命令窗口下键入如下命令:

INTRO (注意:intro 为一个用MATLAB 语言编写的幻灯片程序,主要演示常用的MATLAB 语句运行结果。)

然后,根据现实出来的幻灯片右面按钮进行操作,可按START ——NEXT ——NEXT 按钮一步步运行,观察。

3、自编程序并完成上机编辑,调试,运行,存盘: (1)用MATLAB 命令完成矩阵的各种运算,例如:

???

???

????

?

???=44434241343332312423222114131211

A

求出下列运算结果,并上机验证。 解:实验程序如下:

function chengxu1

A=[11 12 13 14;21 22 23 24;31 32 33 34;41 42 43 44]; a1=A(:,1) a2=A(2,:)

a3=A(1:2,2:3) a4=A(2:3,2:3) a5=A(:,1:2) a6=A(2:3) a7=A(:) a8=A(:,:) a9=ones(2,2) a10=eye(2)

实验结果如下:

(1) A(:,1)=????

????????41312111 (2) A(2,:)= []24232221

(3) A(1:2,2:3)= ??????23221312 (4) A(2:3,2:3)= ?

??

???33322322 (5) A(:,1:2)= ?????

????

???4241

32312221

1211 (6) A(2:3)= []3121 (7) A(:)=???????????????????????????????

??

?

????????????44342414433323134232221241312111 (8) A(:,:)=??????

????

?

???444342413433323124232221

14131211

(9) ones(2,2)=??????1111 (10) eye(2)=?

??

???1001 (2)、绘制数学函数的图形,例如:

y(t)=1-2e-tsin(t) (0<=t<=8) 理解数组运算与矩阵运算功能。 解:根据题意编写MATLAB 程序如下:

%绘图程序如下: t=0:0.01:8;

y=1-2*exp(1)-t.*sin(t)

plot(t,y)

绘制函数图形如下图所示:

三、实验心得:

通过本次实验,熟悉了解了MATLAB的一些基本操作,对MATLAB的基本运算---单元矩阵,有了详细的了解,可以实现矩阵的快速构造,为之后的实验打下良好的基础。

同时,也熟悉了MA TLAB的基本数组运算及画图功能,同样为之后对控制系统的仿真打下基础,对于相关函数模型图形的绘制有很大的帮助。

实验二 数值积分算法练习与函数调用

一、实验目的

1、理解数值积分法,熟练掌握MATLAB 的函数调用。

二、实验题目

1、用Eular 法求解初值问题的数值解: 设方程如下:

2du

t u u dt

=-

(0)1,[0,1]u t ==

取步长0.1h =,上机编写程序求出数值解。

解:用MATLAB 编程求解如下: %用Euler 法求初值问题的数值解 function FZSYZ1 t0=0; tf=1; x0=1; h1=0.1;

t=[t0:h1:tf]; n=length(t); u=x0; uu(1)=u; for i=2:n

du=u-2*t(i-1)/u; u=du*h1+u; uu(i)=u; end uu

plot(t,uu)

得到的结果如下图所示:

2、编写MATLAB程序求解下列方程的数值解:

=

xdot fun t x

21(,)

2

=-

xdot x t 解:用MATLAB编程求解如下:

%用ode23法求初值问题的数值解

function xdot=fun21(t,x)

xdot=x-t^2;

function fzsy22

t0=0;tf=3;tol=1e-6;

x0=1;trace=1;

[t,x]=ode23('fun21',t0,tf,x0,tol,trace); plot(t,x)

得到的实验结果如下图所示

3、试将(2-2)方程改为用Eular编程求解试比较用ode23求解结果解:用MATLAB编程求解如下:

%改用Euler法求初值问题的数值解

function FZSYZ1

t0=0;

tf=3;

x0=1;

h1=0.1;

t=[t0:h1:tf];

n=length(t);

u=x0;

uu(1)=u;

for i=2:n

du=u-(t(i-1))^2;

u=du*h1+u;

uu(i)=u;

end

uu

plot(t,uu)

得到的实验结果如下图所示

4、试将(2-1)方程改为用ode23算法调用函数求解,并试比较结果。 解:用MATLAB 编程求解如下: function xdot=fun21(t,x) xdot=x-2*t./x; function fzsy22 t0=0;tf=1;tol=1e-6; x0=1;trace=1;

[t,x]=ode23('fun21',t0,tf,x0,tol,trace); plot(t,x)

得到的实验结果如下图所示:

5、利用ode23或ode45求解线性时不变系统微分方程()()y t Ay t =,并绘制出()

y t 曲线,式中

0.5

110.5A -??=??--?? 0f t t t ??=?

? 00t = 4f t = 001y ??

=????

解:用MATLAB 编程求解如下:

function xdot=fun21(t,x)

A=[-0.5 1;-1 -0.5]; xdot=A*x;

function fzsy22 t0=0;tf=4;tol=1e-6; x0=[0;1];trace=1;

[t,x]=ode23('fun21',t0,tf,x0,tol,trace); plot(t,x)

得到的实验结果如下图所示:

6、求出2

12

()(21)

G s s s =++与3221

()(231)

G s s s =++的单位阶跃响应,并分别

求出状态空间模型。 解:(1)212()(21)G s s s =++的状态空间模型求解如下:

function lab2 b1=[2]; a1=[1 2 1]; sys=tf(b1,a1); step(sys);

[A1,B1,C1,D1] = tf2ss(b1,a1) 求解可得:

21110A --??=??

?? 110B ??

=???? []102C = 10D = 实验仿真结果如下图所示:

(2)3221

()(231)

G s s s =++ 的状态空间模型求解如下:

function lab2 b1=[1];

a1=[2 3 3 1]; sys=tf(b1,a1); step(sys);

[A1,B1,C1,D1] = tf2ss(b1,a1) 求解可得:

1.5000 1.50000.50001 1.0000000 1.00000A ---????=??

???? 1100B ??

??=?????? []1000.5000C = 10D =

实验仿真结果如下图所示:

7、选做题一:已知系统传递函数为2200(2)()(1)(1042)

s G s s s s +=+++,求对应

的零极点模型,绘制系统阶跃响应。 解:由MATLAB 编程求解如下: function lab2 b1=[200 400]; a1=[1 11 52 42]; step(b1,a1);

[z,p,k] = tf2zp(b1,a1) 有上述程序求解可得:

2Z =- 5.0000 4.12315.0000 4.12311.0000i P i -+??

??=--????-??

200K =

实验仿真结果如下图所示:

三、实验心得:

通过本次实验,熟悉了解了MATLAB在自动控制当中的应用,了解了相关的传递函数及其操作,对于控制系统的建模有打好了基础。

同时,学习了基本的输入函数,并求出对应的响应,对于实际中相关系统的分析有很大的帮助。

同时,也巩固了MA TLAB的画图功能,同样为之后对控制系统的仿真打下基础,对于相关传递函数图形的绘制有很大的帮助。

实验三控制工具箱与SIMULINK软件应用

一、实验目的

1、熟悉工具箱及其使用,进行系统仿真分析,通过仿真对系统进行校正校验。

二、实验预习要求

2、必须先复习教材及上课介绍的有关控制工具箱命令与SIMULINK仿真工具的使用,并对实验题目作好准备。

三、学会调出、运行已由SIMULINK建立的仿真模型

1、仿真模型如下:

仿真图形如下:

2、仿真模型如下:

仿真图形如下:

四、实验心得:

通过本次试验,熟悉了解了MATLAB中SIMULINK的应用,特别是在自动控制系统建模中,它非常的简便易操作,相比输入语句的建模来说,它形象而快速,不仅便于理解和分析,而且大大提高了仿真速度。

同时,也巩固了MA TLAB的画图功能,同样为之后对控制系统

的仿真打下基础,对于相关传递函数图形的绘制有很大的帮助。

实验四 数字控制系统仿真与综合应用

一、实验目的

1、 掌握用于离散系统的Matlab 命令及数字控制系统仿真系统方法。应用仿真对系统的设计进行分析比较。

二、实验内容

1、实验题目与要求 若)

5)(2(10

)(++=

s s s G ,若使用零阶保持器将G(s)转换成G(z)。采用周期T=0.1s ,

用仿真方法得出G(s)与G(z)的阶跃响应图并进行比较。

解:将连续系统的传递函数用下面的零阶保持器法转换成离散系统传递函数程序清单如下: function lab41

nc=10;dc=[1,7,10];ts=0.1;i=[0:35];time=i*ts; [n_zoh,d_zoh]=c2dm(nc,dc,ts); yc=step(nc,dc,time); y_zoh=dstep(n_zoh,d_zoh,36); [xx,yy]=stairs(time,y_zoh); plot(time,yc,'r'),hold plot(xx,yy,'b'),hold;grid end

程序结果如下:

[]0315

.00398.00_=zoh n []4966.04253.10000.1_-=zoh d

实验仿真结果如下图所示:

2、 仿真研究与系统分析:

)

05.01)(1.01(10

)(1s s s s W ++=

,采样周期T=0.2s

1、采用零阶保持器,将W1(s)转换为W1(z),串接一个计算机调节模型D(z)组成一个典型的数字反馈系统,当采用最少拍设计原则设计出来的。

)

53.01)(045.01()

183.01)(136.01(62.0)(1111----++--=

z z z z z D 分别用仿真算法得到系统在单位阶跃输入作用下的响应,系统在单位速度输入是的输出响应。

解:(1)首先将W1(s)转换为W1(z),采样周期T=0.2s ,程序清单如下: function lab42

num=[10];den=[0.005 0.15 1 0]; ts=0.2;[nc,dc]=c2dm(num,den,ts)

实验结果如下:

[]0397.08964.07615.00=nc []0025

.01561.01537.10000.1--=dc (2)运行如下仿真程序可得结果如下:

3、 思考题

解:(1)将被控对象的传递函数G(s)离散化的程序如下: %将G(s)离散化的程序如下: function lab43

num=[10];den=[1 1 0];

ts=1;[nc,dc]=c2dm(num,den,ts)

实验结果如下:

[]6424

.26788.30=nc []3679.03679.10000.1-=dc 则离散化后的传递函数3679

.03679.16424

.2678.3)(2+-+=

z z z z G

(2)运行如下仿真程序可得结果如下:

四、实验心得:

通过本次试验,熟悉了解了MATLAB的在自动控制当中的应用,了解了相关的函数及操作,熟悉SIMULINK的操作,对于控制系统的建模有很大的帮助。

同时,学习了基本的输入函数,并求出对应的响应,对于实际中相关系统的分析有很大的帮助。

中南大学通信原理实验报告(截图完整)

中南大学 《通信原理》实验报告 学生姓名 指导教师 学院 专业班级 完成时间

数字基带信号 1、实验名称 数字基带信号 2、实验目的 (1)了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。 (2)掌握AMI、HDB 3 码的编码规则。 (3)掌握从HDB 3 码信号中提取位同步信号的方法。 (4)掌握集中插入帧同步码时分复用信号的帧结构特点。 (5)了解HDB 3 (AMI)编译码集成电路CD22103。 3、实验内容 (1)用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码 (HDB 3)、整流后的AMI码及整流后的HDB 3 码。 (2)用示波器观察从HDB 3 码中和从AMI码中提取位同步信号的电路中有关波形。 (3)用示波器观察HDB 3 、AMI译码输出波形。 4、基本原理(简写) 本实验使用数字信源模块和HDB 3 编译码模块。 1、数字信源 本模块是整个实验系统的发终端,模块内部只使用+5V电压,其原理方框图如图1-1所示,电原理图如图1-3所示(见附录)。本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。此NRZ信号为集中插入帧同步码时分复用信号,实验电路中数据码用红色发光二极管指示,帧同步码及无定义位用绿色发光二极管指示。发光二极管亮状态表示1码,熄状态表示0码。 本模块有以下测试点及输入输出点: ? CLK 晶振信号测试点 ? BS-OUT 信源位同步信号输出点/测试点(2个) ? FS 信源帧同步信号输出点/测试点 ? NRZ-OUT(AK) NRZ信号(绝对码)输出点/测试点(4个) 图1-1中各单元与电路板上元器件对应关系如下: ?晶振CRY:晶体;U1:反相器7404 ?分频器U2:计数器74161;U3:计数器74193;U4:计数器40160 ?并行码产生器K1、K2、K3:8位手动开关,从左到右依次与帧同步码、数

操作系统实验报告-中南大学

操作系统原理试验报告 班级: 学号: 姓名:

实验一:CPU调度 一、实验内容 选择一个调度算法,实现处理机调度。 二、实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。 三、实验题目 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 四、实验要求 PCB内容: 进程名/PID; 要求运行时间(单位时间); 优先权; 状态: PCB指针; 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度 4、最好采用图形界面; 5、可随时增加进程; 6、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可自动从后备 队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列。 7、每次调度后,显示各进程状态。 实验二:内存管理 一、实验内容 主存储器空间的分配和回收 二、实验目的 帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 三、实验题目 在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。

四、实验要求 1、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 2、结合实验一,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,PCB指针} 3、采用最先适应算法分配主存空间; 4、进程完成后,回收主存,并与相邻空闲分区合并 .1、Vo类说明(数据存储结构) 进程控制块PCB的结构: Public class PCB{ //进程控制块PCB,代表一个进程 //进程名,作为进程的标识; private String name; //要求运行时间,假设进程运行的单位时间数; private int time; //赋予进程的优先权,调度时总是选取优先数小的进程先执行; private int priority; //状态,假设有“就绪”状态(ready)、“运行”状态(running)、 //“后备”状态(waiting)、“挂起”状态(handup) private String state; //进程存放在table中的位置 private int start; //进程的大小 private int length; //进程是否进入内存,1为进入,0为未进入 private int isIn; //进程在内存中的起始位置 private int base; //进程的大小 private int limit; //一些get和set方法以及构造器省略… };

中南大学通信电子线路实验报告

中南大学 《通信电子线路》实验报告 学院信息科学与工程学院 题目调制与解调实验 学号 专业班级 姓名 指导教师

实验一振幅调制器 一、实验目的: 1.掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅的方法。 2.研究已调波与调制信号及载波信号的关系。 3.掌握调幅系数测量与计算的方法。 4.通过实验对比全载波调幅和抑止载波双边带调幅的波形。 二、实验内容: 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 三、基本原理 幅度调制就是载波的振幅(包络)受调制信号的控制作周期性的变化。变化的周期与调制信号周期相同。即振幅变化与调制信号的振幅成正比。通常称高频信号为载波信号。本实验中载波是由晶体振荡产生的10MHZ高频信号。1KHZ的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 在本实验中采用集成模拟乘法器MC1496来完成调幅作用,图2-1为1496芯片内部电路图,它是一个四象限模拟乘法器的基本电路,电路采用了两组差动对由V1-V4组成,以反极性方式相连接,而且两组差分对的恒流源又组成一对差分电路,即V5与V6,因此恒流源的控制电压可正可负,以此实现了四象限工作。D、V7、V8为差动放大器V5与V6的恒流源。进行调幅时,载波信号加在V1-V4的输入端,即引脚的⑧、⑩之间;调制信号加在差动放大器V5、V6的输入端,即引脚的①、④之间,②、③脚外接1KΩ电位器,以扩大调制信号动态范围,已调制信号取自双差动放大器的两集电极(即引出脚⑹、⑿之间)输出。

图2-1 MC1496内部电路图 用1496集成电路构成的调幅器电路图如图2-2所示,图中VR8用来调节引出脚①、④之间的平衡,VR7用来调节⑤脚的偏置。器件采用双电源供电方式(+12V,-9V),电阻R29、R30、R31、R32、R52为器件提供静态偏置电压,保证器件内部的各个晶体管工作在放大状态。 四、实验结果 1. ZD.OUT波形: 2. TZXH波形:

2017中南大学人工智能实验报告

“人工智能”实验报告 专业: 班级: 学号: 姓名: 2017年4月日

实验一搜索策略 (一)实验内容 1. 熟悉和掌握启发式搜索的定义、估价函数和算法过程;比较不同算法的性能。 2. 修改八数码问题或路径规划问题的源程序,改变其启发函数定义,观察结果的变化,分析原因。 (二)实验思路 1.利用已有程序“search.jar”,利用已有的“简单搜索树”图或自行构建一个图,选择DFS/BFS/Lowest Cost First/Best-First/Heuristic Depth First/A*等不同的搜索策略,观察程序运行中,OPEN表和CLOSED表的变化,观察搜索过程的变化,理解各个算法的原理。 2.任选八数码问题或路径规划问题的源程序,思考程序如何解决该问题,并对其启发函数进行修改,观察结果的变化,并分析原因 (三)程序清单 此处我选择了路径规划问题:由于篇幅原因,只附上启发函数的定义部分。 原启发函数: floatMapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { floatxd = fabs(float(((float)x - (float)nodeGoal.x))); floatyd = fabs(float(((float)y - (float)nodeGoal.y))); return (xd + yd); } 第一次修改后的启发函数: float MapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { float xd = fabs(float(((float)x - (float)nodeGoal.x))); float yd = fabs(float(((float)y - (float)nodeGoal.y))); float d=sqrt(xd*xd+yd*yd); return d; } 第二次修改后的启发函数: float MapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { float xd = fabs(float(((float)x - (float)nodeGoal.x))); float yd = fabs(float(((float)y - (float)nodeGoal.y))); float d=3*sqrt(xd*xd+yd*yd); return d; } 第三次修改后的启发函数: float MapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { float xd = fabs(float(((float)x - (float)nodeGoal.x)));

中南大学机械基础实验报告机类

机械基础实验报告 (机械类) 中南大学机械基础实验教学中心 2011年8月 目录 训练一机构运动简图测绘 (1) 实验二动平衡实验 (3) 实验三速度波动调节实验 (4) 实验四机构创意组合实验 (5) 实验五平面机构创新设计及运动测试分析实验 (6) 实验六螺栓联接静动态实验 (7) 实验七螺旋传动效率实验 (8) 实验八带传动实验 (9) 实验九液体动压轴承实验 (10) 实验十机械传动性能综合测试实验 (12) 实验十一滚动轴承综合性能测试分析实验 (13) 实验十二机械传动设计及多轴搭接实验 (14) 实验十三减速器拆装实验 (15)

训练一机构运动简图测绘 专业班级第组姓名成绩 1.一个正确的“机构运动简图”应能说明哪些内容?绘制机构运动简图的基本步骤是什么? 2.机构自由度与原动件的数目各为多少?当机构自由度=原动件的数目,机构的

运动是否确定? 五.收获与建议

实验二动平衡实验 专业班级第组姓名成绩一、实验目的: 二?设备名称: 三?实验数据 实验转速: 四.思考题: 转子动平衡为什么要在左右两个平面上进行平衡?

实验三速度波动调节实验专业班级第组姓名成绩一?实验目的: 二?设备名称: 三?实验数据 1?当转速不变时,采用不同的飞轮,数据记录: 结论:当转速不变时,飞轮转动惯量越大,则机构的速度波动越二?当飞轮不变时,转速变化,数据记录: 结论:当飞轮不变时,转速越大,则机构的速度波动越

实验四机构创意组合实验 专业班级第组姓名成绩 一、机构运动简图(要求符号规范标注参数) 二、机构的设计方案图(复印件) 三、机构有____________个活动构件?有______个低副,其中转动副_______个, 移动副__________个,有____________复合铰链,在_________处?有________处?有__________个虚约束,在__________处? 四、机构自由度数目为F=3n-2PL-PH=3X-2X-0= 五、机构有_________个原动件 在___________处用__________驱动,在__________处用___________驱动? 六、针对原设计要求,按照实验结果简述机构的有关杆件是否运动到位?曲柄是 否存在?是否实现急回特性?最小传动角数值?是否有“卡住”现象?(原无要求的项目可以不作涉及) 七、指出在机构中自己有所创新之处? 八、指出机构的设计存在的不足之处,简述进一步改进的设想?

中南大学系统仿真实验报告

实验一MATLAB 中矩阵与多项式的基本运算 实验任务 1. 了解MATLAB命令窗口和程序文件的调用。 2 ?熟悉如下MATLAB的基本运算: ①矩阵的产生、数据的输入、相关元素的显示; ②矩阵的加法、乘法、左除、右除; ③特殊矩阵:单位矩阵、“ 1 ”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算; ④多项式的运算:多项式求根、多项式之间的乘除。 基本命令训练 1、>> eye(2) ans = 1 0 0 1 >> eye(4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2、>> ones(2) 1 1 ans =

1 1 >> ones(4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> ones(2,2) ans = 1 1 1 1 >> ones(2,3) ans = 1 1 1 1 1 1 >> ones(4,3) ans = 1 1 1 1 1 1 1 1 1 1 1 1 3、>> zeros(2) ans =

0 0 0 0 >> zeros(4) ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> zeros(2,2) ans = 0 0 0 0 >> zeros(2,3) ans = 0 0 0 0 0 0 >> zeros(3,2) ans = 0 0 0 0 00 4、随机阵>> rand(2,3) ans = 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706 >> rand(2,3)

中南大学制造系统自动化技术实验报告整理

制造系统自动化技术 实验报告 学院:机电工程学院 班级:机制**** 姓名:张** 学号: *********** 指导教师:李** 时间: 2018-11-12 实验一柔性自动化制造系统运行实验 1.实验目的 (1)通过操作MES终端软件,实现对柔性制造系统的任务下达和控制加工,让学生

了解智能制造的特征及优势。 (2)通过创意性的实验让学生了解自动化系统总体方案的构思。 (3)通过总体方案的构思让学生了解该系统的工作原理,并学会绘制控制系统流程图,掌握物料流、信息流、能量流的流动路径。 (4)通过总体方案的构思让学生掌握各机械零部件、传感器、控制元器件的工作原理及性能。 (5)通过实验系统运行让学生了解运行的可靠性、安全性是采用何种元器件来实现的,促进学生进行深层次的思考和实践。 2.实验内容 (1)仔细观察柔性自动化制造系统的实现,了解柔性自动化制造系统的各个模块,熟悉各个模块的机械结构。 (2)了解各种典型传动机构的组装、工作原理、以及如何实现运动方向和速度的改变; (3)学习多种传感器的工作原理、性能和使用方法; (4)了解典型驱动装置的工作原理、驱动方式和性能; (5)理解柔性制造系统的工作原理,完成柔性制造系统的设计、组装; (6)实现对柔性制造系统的控制与检测,完成工件抓取、传输和加工。

3.实验步骤 (1)柔性制造系统的总体方案设计; (2)进行检测单元的设计; (3)进行控制系统的设计; (4)上下料机构的组装与检测控制; (5)物料传输机构的组装与实现; (6)柔性制造系统各组成模块的连接与控制; (7)柔性制造系统各组成单元的状态与工件状态位置的检测; (8)对机器人手动操作,实现对工件的抓取、传输。 4. 实验报告 ①该柔性自动化制造系统由哪几个主要的部分组成; 主要由:总控室工作站、AGV小车输送物料机构、安川机器人上下料工作站、法那科机器人上下料工作站、ABB机器人组装工作站、视觉检测及传送工作站、激光打标工作站、堆垛机及立体仓储工作站。 ②画出该柔性自动化制造系统的物料传输系统结构简图;

中南大学 计算机体系结构实验报告

计算机体系结构课程设计 学院:信息科学与工程学院 专业班级: 指导老师: 学号: 姓名:

目录 实验1 对指令操作码进行霍夫曼编码 (3) 一、实验目的 (3) 二、实验内容 (3) 三、设计思路 (4) 四、关键代码 (4) 五、实验截图 (5) 六、源代码 (5) 实验2 使用LRU 方法更新Cache (8) 一、实验目的 (8) 二、实验内容 (8) 三、设计思路 (9) 四、程序截图 (9) 五、实验代码 (9) 实验总结 (16) 参考文献 (16)

实验1 对指令操作码进行霍夫曼编码一、实验目的 了解和掌握指令编码的基本要求和基本原理 二、实验内容 1. 使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。与扩展操作码和等长编码进行比较。 2. 问题描述以及问题分析 举例说明此问题,例如: 下表所示: 对此组指令进行 HUFFMAN 编码正如下图所示: 最后得到的HUFFMAN 编码如下表所示:

最短编码长度为: H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95. 要对指令的操作码进行 HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行 HUFFAM 编码。此过程的难点构造 HUFFMAN 树,进行 HUFFAM 编 码只要对你所生成的 HUFFMAN 树进行中序遍历即可完成编码工作。 三、设计思路 观察上图,不难看出构造 HUFFMAN 树所要做的工作:1、先对各指令操作码的出现概率进行排序,构造一个有序链表。2、再取出两个最小的概率节点相加,生成一个生的节点加入到链表中,同时从两表中删除此两个节点。3、在对链表进行排序,链表是否只有一个节点,是则 HUFFAN 树构造完毕,否则继续做 2 的操作。为此设计一个工作链表(链表的元素时类,此类的功能相当结构。)、HUFFMAN 树节点、HUFFMAN 编码表节点。 四、关键代码 哈夫曼树重点在于如何排列权值大小不同的结点的顺序 private int leafNum; //叶子结点个数 private HaffmanNode[] hnodes; //哈夫曼树的结点数组 public HaffManCode(double[] weight) //构造指定权值集合的哈夫曼树 { int n = weight.length; //n个叶子结点 this.leafNum = n; this.hnodes = new HaffmanNode[2*n-1]; //n个叶子结点的哈夫曼树共有2n-1个结点 for(int i=0; i

中南大学机械制造工艺学实验报告

机械制造工艺学实验报告 班级机械1301 姓名黄佳清 学号 07

中南大学机电学院 《机械制造工艺学》课程实验报告 实验名称:加工误差的统计分析 姓名:黄佳清班级:机械1301 学号: 07 实验日期: 2015 年 10 月 18 日指导教师:成绩: 1. 实验目的 (1)掌握加工误差统计分析方法的基本原理和应用。 (2)掌握样本数据的采集与处理方法,要求:能正确地采集样本数据,并能通过对样本 数据的处理,正确绘制出加工误差的实验分布曲线和图。 (3)能对实验分布曲线和图进行正确地分析,对加工误差的性质、工序能力及工艺 稳定性做出准确的鉴别。 (4)培养对加工误差进行综合分析的能力。 2. 实验内容与实验步骤

1.按加工顺序测量工件的加工尺寸,记录测量结果。 2.绘制直方图和分布曲线 1)找出这批工件加工尺寸数据的最大值x max和最小值x min,按下式计算出极差R。 R=x max一x min 2)确定分组数K(K一般根据样本容量来选择,建议可选在8~11之间)。 3)按下式计算组距 d。 4)确定组界(测量单位:微米)。 5)做频数分布表。 6)计算x和 。 7)画直方图 以样本数据值为横坐标,标出各组组界;以各组频率密度为纵坐标,画出直方图。 8)画分布曲线 若工艺过程稳定,则误差分布曲线接近正态分布曲线;若工艺过程不稳定,则应根据实际情况确定其分布曲线。画出分布曲线,注意使分布曲线与直方图协调一致。 9)画公差带 在横轴下方画出公差带,以便与分布曲线相比较。 3.绘制图 1)确定样组容量,对样本进行分组

样组容量m 通常取4或5件。按样组容量和加工时间顺序,将样本划分成若干个样组。 2)计算各样组的平均值和极差 对于第i 个样组,其平均值和极差计算公式为: ∑==m j ij i x m x 1 1 式中 ——第i 个样组的平均值; ——第i 个样组的标准差; ——第i 个样组第j 个零件的测量值; ——第i 个样组数据的最大值; ——第i 个样组数据的最小值 3)计算图控制限(计算公式见实验原理) 4)绘制 图 以样组序号为横坐标,分别以各样组的平均值和极差R 为纵坐标,画出图,并在图上标出中心线和上、下控制限。 4. 按下式计算工序能力系数Cp 5. 判别工艺过程稳定性 可按下表所列标准进行判别。注意,同时满足表中左列3个条件,工艺过程稳定;表中右列条件之一不满足,即表示工艺过程不稳定。

算法实验报告

算法分析与设计实验报告 学院:信息科学与工程学院 专业班级: 指导老师: 学号: 姓名:

目录 实验一:递归与分治 (3) 1.实验目的 (3) 2.实验预习内容 (3) 3.实验内容和步骤 (3) 4.实验总结及思考 (5) 实验二:回溯算法 (6) 1.实验目的: (6) 2.实验预习内容: (6) 3. 实验内容和步骤 (6) 4. 实验总结及思考 (9) 实验三:贪心算法和随机算法 (10) 1. 实验目的 (10) 2.实验预习内容 (10) 3.实验内容和步骤 (10) 4. 实验总结及思考 (13)

实验一:递归与分治 1.实验目的 理解递归算法的思想和递归程序的执行过程,并能熟练编写快速排序算法程序。 掌握分治算法的思想,对给定的问题能设计出分治算法予以解决。 2.实验预习内容 递归:递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数). 分治:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 3.实验内容和步骤 快速排序的基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 源代码: #include using namespace std; int num; void swap(int &a,int &b) { int temp=a; a=b; b=temp; } void printarray(int *arr) { for (int i=1;i<=num;++i) cout<

中南大学软件体系结构实验报告-实验1

实验1 UML实验 实验学时: 4 每组人数: 1 实验类型: 3 (1:基础性2:综合性3:设计性4:研究性) 实验要求: 1 (1:必修2:选修3:其它) 实验类别: 3 (1:基础2:专业基础3:专业4:其它) 一、实验目的 1. 学会安装和使用建模工具PowerDesigner,熟练使用PowerDesigner绘制常用的UML 图形,熟悉常用的UML建模符号; 2. 构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩阵; 3. 学习使用状态图描述对象的状态及转换; 4. 学习使用活动图为业务流程建模; 5. 学习使用顺序图描述对象之间的交互; 6. 学习类图的绘制; 7. 学习从系统需求中识别类,并构建相应的面向对象模型; 8. 学习使用PowerDesigner实现正向工程和逆向工程; 9. 学习使用组件图描述每个功能所在的组件位置以及它们之间的关系; 10. 学习使用部署图描述软件中各个组件驻留的硬件位置以及这些硬件之间的交互关系。 二、实验内容 1. 某酒店订房系统描述如下: (1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订; (2) 前台服务员可以利用系统直接在前台预订房间; (3) 不管采用哪种预订方式,都需要在预订时支付相应订金; (4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付; (5) 利用信用卡进行支付时需要和信用卡系统进行通信; (6) 客房部经理可以随时查看客房预订情况和每日收款情况。 绘制该酒店订房系统的用例图。 2. 根据以下场景绘制用例图: 某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。该系统功能描述如下:

中南大学x射线实验报告参考

中南大学 X射线衍射实验报告 学院专业班级 姓名学号同组者 月日指导教师 实验 日期 评分分评阅人评阅日期 实验目的 1)掌握X射线衍射仪的工作原理、操作方法; 2)掌握X射线衍射实验的样品制备方法; 3)学会X射线衍射实验方法、实验参数设臵,独立完成一个衍射实验测试; 4)学会MDI Jade 6的基本操作方法; 5)学会物相定性分析的原理和利用Jade进行物相鉴定的方法; 6)学会物相定量分析的原理和利用Jade进行物相定量的方法。 本实验由衍射仪操作、物相定性分析、物相定量分析三个独立的实验组成,实验报告包含以上三个实验内容。 一、实验原理 1、X射线衍射仪 (1)X射线管 X射线管工作时阴极接负高压,阳极接地。灯丝附近装有控制栅,使灯丝发出的热电子在电场的作用下聚焦轰击到靶面上。阳极靶面上受电子束轰击的焦点便成为X射线源,向四周发射X射线。在阳极一端的金属管壁上一般开有四个射线出射窗口。转靶X射线管采用机械泵+分子泵二级真空泵系统保持管内真空度,

阳极以极快的速度转动,使电子轰击面不断改变,即不断改变发热点,从而达到提高功率的目的 (2)测角仪系统 测角仪圆中心是样品台,样品台可以绕中心轴转动,平板状粉末多晶样品安放在样品台上,样品台可围绕垂直于图面的中心轴旋转;测角仪圆周上安装有X 射线辐射探测器,探测器亦可以绕中心轴线转动;工作时,一般情况下试样台与探测器保持固定的转动关系(即θ-2θ连动),在特殊情况下也可分别转动;有的仪器中样品台不动,而X 射线发生器与探测器连动。 (3)衍射光路 2、物相定性分析 1) 每一物相具有其特有的特征衍射谱,没有任何两种物相的衍射谱是完全相同 的 2) 记录已知物相的衍射谱,并保存为PDF 文件 3) 从PDF 文件中检索出与样品衍射谱完全相同的物相 4) 多相样品的衍射谱是其中各相的衍射谱的简单叠加,互不干扰,检索程序能 从PDF 文件中检索出全部物相 3、物相定量分析 物相定量分析——绝热法 在一个含有N 个物相的多相体系中,每一个相的RIR 值(参比强度)均为已知的情况下,测量出每一个相的衍射强度,可计算出其中所有相的质量分数: 其中某相X 的质量分数可表示为: ∑ == N A i i A i X A X X K I K I W 式中A 表示N 个相中被选定为内标相的物相名称 式中A O Al X O Al X A K K K 3 232= 右边是两个物相X 和A 的RIR 值,可以通过实测、计算或查找PDF 卡片获得。 样品中只含有两相A 和B ,并选定A 为内标物相,则有:

中南大学人工智能实验报告

“人工智能”实验报告 专业 班级 学号 姓名

目录 一、实验八自动规划实验群 (3) 二、实验一生产式系统实验群 (6) 三、实验二搜索策略实验群 (7) 四、实验七神经网络 (9) 五、实验心得和体会 (10)

实验八自动规划实验群 姓名班级指导老师日期2011.12 实验目 的 熟悉和掌握自动规划的基本原理,方法和主要技术。 实验原理规划是一种问子题求解技术,它从某个特定的问题状态出发,寻求一系列行为动作,并建立一个操作序列,直到求得目标状态为止。简而言之,规划是一个行动过程的描述。一个总规划可以含有若干个子规划。 实验环 境 转载相 关源文 件 实验环境 转载相关源文件 实现过 程 单步观察实验算法

算法结果分析 观测结果通过规定规则,确定initial state和goal state,使得移动臂按照规则进行移动。分别进行clear holding pickup putdown putdowntable等实现对木块的移动。 实现过程先进行逆向推理选择,找出途径后再进行移动。 学生结论对于不同的规则将会出现不同的移动过程。通过规定不同的动作可实现不通过的移动。

实验一生产式系统实验群 姓名指导老师日期2011.12 实验目的熟悉和掌握产生式系统的运行机制,掌握基 于规则推理的基本方法。 推理方 法 逆向推理 建立规则库建立事实库 该动物是哺乳动物<- 该动物有毛发. 该动物是哺乳动物<- 该动物有奶. 该动物是鸟<- 该动物有羽毛. 该动物是鸟<- 该动物会飞&会下蛋. 该动物是食肉动物<- 该动物吃肉. 该动物是食肉动物<- 该动物有犬齿&有爪&眼盯前方. 该动物是有蹄类动物<- 该动物是哺乳动物&有蹄. 该动物是有蹄类动物<- 该动物是哺乳动物& 是嚼反刍动物. 该动物是金钱豹<- 该动物是哺乳动物&是食肉动物&是黄褐色&身上有暗斑点. 该动物是虎<- 该动物是哺乳动物&该动物是食肉动物&是黄褐色&身上有黑色条纹. 该动物是长颈鹿<- 该动物是有蹄类动物&有长脖子&有长腿&身上有暗斑点. 该动物是斑马<- 该动物是有蹄类动物&身上有黑色条纹. 该动物是鸵鸟<- 该动物是鸟&有长脖子&有长腿&不会飞&有黑白二色. 该动物是企鹅<- 该动物是鸟&会游泳&不会飞&有黑白二色. 该动物是信天翁<- 该动物是鸟&善飞. %------动物识别系统事实集: %会游泳. %--该动物是企鹅 %不会飞. %有黑白二色. %该动物是鸟. %-------- %--该动物是鸟 %该动物会飞. %会下蛋. %----该动物是金钱豹<- 该动物是哺乳动物&是食肉动物&是黄褐色&身上有暗斑点. %该动物有毛发. %是食肉动物. %是黄褐色. %身上有暗斑点. %----该动物是虎<- 该动物是哺乳动物&该动物是食肉动物&是黄褐色&身上有黑色条纹. %该动物是哺乳动物. %是食肉动物. %是黄褐色. %身上有暗斑点. %----该动物是长颈鹿<- 该动物是有蹄类动物&有长脖子&有长腿&身上有暗斑点. %该动物是有蹄类动物. %有长脖子. %有长腿. %身上有暗斑点. 预测结果假设目标为该动物是金钱豹,则结果为true. 实验过程及结果(注意观测规则的匹配过程和方法) (1)假设这个动物是金钱豹。为了检验这个假设,根据规则, 要求这个动物是哺乳动物&是食肉动物&是黄褐色&身上有暗 斑点. (2)必须检验这个动物是否为哺乳动物。先由规则库中的: 该动物是哺乳动物<- 该动物有毛发.该动物是哺乳动物<- 备注(原因等) 根据逆向推理可以逐步 确定

中南大学微机实验报告

中南大学信息科学与工程学院 微机原理与接口技术实验报告 学生学院信息科学与工程学院 专业班级 学号 学生姓名____ 指导教师

目录 第一部分软件实验 (4) DEBUG 的使用 (4) 第二部分硬件实验 (8) 实验一使用ADC0809的A/D转换实验 (10) 实验二使用DAC0832的D/A转换实验(一) ................................. 错误!未定义书签。 实验三使用DAC0832的D/A转换实验(二) ................................. 错误!未定义书签。第三部分实验总结. (13)

第一部分软件实验 DEBUG 的命令及其操作 一、实验目的 1.熟练掌握debug的常用命令,学会用debug来调试程序。 2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。 3.掌握各种寻址方法以及简单指令的执行过程。 二、实验内容 1.进入和退出DEBUG程序 2.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序 3.掌握一些DEBUG的基本操作 三、实验环境 Windows系统下从进入命令行窗口。 四、实验的基本原理 a 汇编 d显示内存单元内容 e修改单元内存内容 g执行命令 t单步(或多步)调试 n指定文件路径文件名(含扩展名) u反汇编 r查看寄存器值及修改 l加载程序 w写盘命令 五、实验步骤 1.用DEBUG调试简单程序 例1 -A CS:0106 MOV AX,1234 MOV BX,2345 MOV CX,0 ADD AX,BX MOV CX,AX INT 20 运行程序

最新中南大学数据结构实验报告

中南大学 数据结构实验报告 实验题目:(1)单链表的实现(2)栈和队列 (3)二叉树的遍历(4)查找与排序学生姓名:代巍 学生学号:0909121615 指导老师:余腊生 所在学院:信息科学与工程学院 专业班级:信息安全1201班 指导教师评定:签名:

实验一单链表的实现 一、实验目的 了解线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种 基本运算及其在某种存储结构上如何实现这些基本运算。在熟悉上述内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题 二、实验内容 用C/C++语言编写程序,完成以下功能: (1)运行时输入数据,创建一个单链表 (2)可在单链表的任意位置插入新结点 (3)可删除单链表的任意一个结点 (4)在单链表中查找结点 (5)输出单链表 三、程序设计的基本思想,原理和算法描述: (包括程序的结构,数据结构,输入/输出设计,符号名说明等) 用一组地址任意的存储单元存放线性表中的数据元素。以元素(数据元素的映象) + 指针(指示后继元素存储位置) = 结点(表示数据元 素或数据元素的映象) 以“结点的序列”表示线性表称作线性链表(单链表) 单链表是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: (1)、数据域:用来存储本身数据。 (2)、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。 1、单链表的查找 对单链表进行查找的思路为:对单链表的结点依次扫描,检测其数据域是否是我们所要查好的值,若是返回该结点的指针,否则返回NULL。

中南大学-数字通信原理实验报告

数字通信原理实验报告 专业班级: 指导老师:李敏 姓名: 学号:

实验一数字基带信号 一、实验目的 1、了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。 2、掌握AMI、HDB3码的编码规则。 3、掌握从HDB3码信号中提取位同步信号的方法。 4、掌握集中插入帧同步码时分复用信号的帧结构特点。 5、了解HDB3(AMI)编译码集成电路CD22103。 二、实验内容 1、用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码(HDB3)、整流后的AMI码及整流后的HDB3码。 2、用示波器观察从HDB3码中和从AMI码中提取位同步信号的电路中有关波形。 3、用示波器观察HDB3、AMI译码输出波形。

三、实验步骤 本实验使用数字信源单元和HDB3编译码单元。 1、熟悉数字信源单元和HDB3编译码单元的工作原理。接好电源线,打开电源开关。 2、用示波器观察数字信源单元上的各种信号波形。 用信源单元的FS作为示波器的外同步信号,示波器探头的地端接在实验板任何位置的GND点均可,进行下列观察: (1)示波器的两个通道探头分别接信源单元的NRZ-OUT和BS-OUT,对照发光二极管的发光状态,判断数字信源单元是否已正常工作(1码对应的发光管亮,0码对应的发光管熄); (2)用开关K1产生代码×1110010(×为任意代码,1110010为7位帧同步码),K2、K3产生任意信息代码,观察本实验给定的集中插入帧同步码时分复用信号帧结构,和NRZ 码特点。 3、用示波器观察HDB3编译单元的各种波形。 仍用信源单元的FS信号作为示波器的外同步信号。 (1)示波器的两个探头CH1和CH2分别接信源单元的NRZ-OUT和HDB3单元的AMI-HDB3,将信源单元的K1、K2、K3每一位都置1,观察全1码对应的AMI码(开关K4置于左方AMI 端)波形和HDB3码(开关K4置于右方HDB3端)波形。再将K1、K2、K3置为全0,观察全0码对应的AMI码和HDB3码。观察时应注意AMI、HDB3码的码元都是占空比为0.5的双极性归零矩形脉冲。编码输出AMI-HDB3比信源输入NRZ-OUT延迟了4个码元。 (2)将K1、K2、K3置于0111 0010 0000 1100 0010 0000态,观察并记录对应的AMI 码和HDB3码。 (3)将K1、K2、K3置于任意状态,K4先置左方(AMI)端再置右方(HDB3)端,CH1接信源单元的NRZ-OUT,CH2依次接HDB3单元的DET、BPF、BS-R和NRZ ,观察这些信号波形。观察时应注意: ? HDB3单元的NRZ信号(译码输出)滞后于信源模块的NRZ-OUT信号(编码输入)8个码元。 ? DET是占空比等于0.5的单极性归零码。 ? BPF信号是一个幅度和周期都不恒定的准正弦信号,BS-R是一个周期基本恒定(等于一个码元周期)的TTL电平信号。 ?信源代码连0个数越多,越难于从AMI码中提取位同步信号(或者说要求带通滤波的Q值越高,因而越难于实现),而HDB3码则不存在这种问题。本实验中若24位信源代码中连零很多时,则难以从AMI码中得到一个符合要求的稳定的位同步信号,因此不能完成正确的译码(由于分离参数的影响,各实验系统的现象可能略有不同。一般将信源代码置成只有1个“1”码的状态来观察译码输出)。若24位信源代码全为“0”码,则更不可能从AMI 信号(亦是全0信号)得到正确的位同步信号。

中南大学算法实验报告

算法设计与分析基础 ——实验报告 姓名:周建权 学号:0909122820 班级:信安1202

实验一分治 —最近点对 一.问题 Problem Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitched at some toys, with all the toys encircled awarded. In the field of Cyberground, the position of each toy is fixed, and the ring is carefully designed so it can only encircle one toy at a time. On the other hand, to make the game look more attractive, the ring is designed to have the largest radius. Given a configuration of the field, you are supposed to find the radius of such a ring. Assume that all the toys are points on a plane. A point is encircled by the ring if the distance between the point and the center of the ring is strictly less than the radius of the ring. If two toys are placed at the same point, the radius of the ring is considered to be 0. Input The input consists of several test cases. For each case, the first line contains an integer N (2 <= N <= 100,000), the total number of toys in the field. Then N lines follow, each contains a pair of (x, y) which are the coordinates of a toy. The input is terminated by N = 0. Output For each test case, print in one line the radius of the ring required by the Cyberground manager, accurate up to 2 decimal places. 二.分析思路 题目是给n个点的坐标,求距离最近的一对点之间距离的一半。第一行是一个数n表示有n个点,接下来n行是n个点的x坐标和y坐标。 首先,假设点是n个,编号为1到n。找一个中间的编号mid,先求出1到mid点的最近距离设为d1,还有mid+1到n的最近距离设为d2。如果说最近点对中的两点都在1-mid 集合中,或者mid+1到n集合中,则d就是最小距离了。但是还有可能的是最近点对中的两点分属这两个集合,若存在,则把这个最近点对的距离记录下来,去更新d。这样就得到最小的距离d了。 三.源代码 #include #include #include using namespace std; #define N 1000010 struct point {

相关主题