当前位置:文档之家› 中南大学离散数学实验报告2

中南大学离散数学实验报告2

中南大学离散数学实验报告2
中南大学离散数学实验报告2

“离散数学”实验报告

(实验二AC)

专业:自动化

班级:

学号:

姓名:

2010年12月20日

一、实验目的:

掌握关系的概念与性质,基本的关系运算,关系的各种闭包的求法。理解等价类的概念,掌握等价类的求解方法。

二、实验内容:

1. 求有限集上给定关系的自反、对称和传递闭包。(有两种求解方法,只做一种为A,两种都做为B)

2. 求有限集上等价关系的数目。(有两种求解方法,只做一种为A,两种都做为B)

3. 求解商集,输入集合和等价关系,求相应的商集。(C)

三、实验环境:

工具:Mcrosoft Visual Studio 2005;

程序设计语言:C语言。

四、实验原理和实现过程(算法描述):

实验A 求有限集上等价关系的数目。

集合上的等价关系与该集合的划分之间存在一一对应关系。一个等价关系对应一个划分,一个划分也对应一个等价关系。我们把n 个元素的集合划分成k块的方法数叫第二类Stirling数,表示为S(n,k)。给定S(n,n) = S(n,1) = 1,有递归关系:

S(n,k) = S(n ? 1,k ? 1) + kS(n ? 1,k)

集合上所有等价类的个数即为k从1到n,所有S(n,k)之和。

这个问题的算法比较简单,仅需两步就可完成,首先根据上式,定义一个递归函数S(n,k),然后对k从1到n,求取sum=∑S(n,

k),sum的值就是给定n元集合上的等价关系数目,最后将其输出即可。

实验A的流程图如下所示:

实验C 求解商集,输入集合和等价关系,求相应的商集商集即等价类构成的集合,要求商集,首先需要判断输入的关系是否为等价关系,否则没有商集。判断输入的关系是否为等价关系的算法如下:

(1)将输入的关系转换为关系矩阵,这里定义了一个函数translate(),转换的方法为:依次查找输入的关系中的二元组的两个元素在集合中的位置,例如,若a在集合A中的位置为i,b 在集合A中的位置为j,就令存放关系矩阵的二维数组M[i][j]=1,这样就将输入的关系R转换为关系矩阵的形式。

(2)定义三个函数zifan(),duichen()和chuandi(),分别的作用是判断输入的关系是否自反、对称和传递。由等价关系的定义知,若三个函数的返回值均为1,则输入的关系是等价关系。判断的方法是:若关系矩阵M中所有的M[i][i]=1,则是自反关系;若M中所有的M[i][j]=M[j][i],则是对称关系;若M[i][j]=1并且M[j][k]=1,那么一定有M[i][k]=1,则是传递关系。

判断了所输入的关系为等价关系后就可以求其商集了,由于商集即等价类构成的集合,所以要求其等价类。确定集合A={a1,a2,a3,…,a n}关于R的等价类的算法如下:

(1) 令A中每一个元素自成一个子集,A1={a1},A2={a2},…,A n={a n}

(2) 对R中每个二元组< x,y >,判定x和y所属子集。假设x属于A i,y属于A j,若A i<>A j,则将A i并入A j,并置A i为空;或将A j并入A i,并置A j为空。一般将元素少的集合合并到元素多的集合。

(3) A1 ,A2,…,A n中所有非空子集构成的集合即为所求商集。

集合的并运算采用并查集(union-find sets)的方法。并查集是一种树型的数据结构,多棵树构成一个森林,每棵树构成一个集合,树中的每个节点就是该集合的元素,找一个代表元素作为该树(集合)的祖先。并查集支持以下三种操作:

(1) Make_Set(x) 把每一个元素初始化为一个集合

初始化后每一个元素的父亲节点是它本身,每一个元素的祖先节点也是它本身。

(2) Find_Set(x) 查找一个元素所在的集合

查找一个元素所在的集合,只要找到这个元素所在集合的祖先即可。判断两个元素是否属于同一集合,只要看他们所在集合的祖先是否相同即可。

(3) Union(x,y) 合并x,y所在的两个集合

合并两个不相交集合操作很简单:首先设置一个数组Father[x],表示x的"父亲"的编号。那么,合并两个不相交集合的方法就是,找到其中一个集合的祖先,将另外一个集合的祖先指向它。

实验C的流程图如下所示:

五、实验数据及结果分析:

以下是实验过程中的实验数据截图:实验A

以上三图显示了集合元素数为3、4、5的等价关系数目分别为

5、15、52,根据原递归式计算也是此值。说明程序正确。

上图显示的是当输入错误的情况,当输入错误时提示错误,再次输入后正确计算出其结果。

由以上图示数据可以看出程序完整地实现了实验A的要求。

实验C

(1)运行程序开始提示输入集合A:

(2)输入集合并回车,频幕上显示要计算的集合A,并提示下一步输入集合上的等价关系R:

(3)输入集合A上的一个等价关系R并回车,显示关系R和它的关系矩阵,以及计算出的商集:

(4)再次运行程序,此次输入的关系不是等价关系,则会出现提示:您输入的不是等价关系,没有商集,请重新输入!

(5)重新输入一个等价关系,输出其正确的计算结果:

由以上实验数据可以看出,程序完整地实现了题目要求。当然程序编写及调试过程中还遇到很多错误,都一一解决了,但没有截取数

据。

六、源程序清单:

实验A

#include

int S(int x,int y) /*定义递归函数*/

{

int t;

if(y==1||y==x)

{t=1;}

else {t=S(x-1,y-1)+y*S(x-1,y);}

return t;

}

main()

{

int k,n,sum=0;

printf("请输入有限集合的元素个数:\n");

scanf("%d",&n);getchar();

if(n<=0||n>100)

{

printf("输入错误,请重新输入!\n");

scanf("%d",&n);getchar();

}

for(k=1;k<=n;k++)

{

sum=sum+S(n,k); /*调用递归函数*/

}

printf("给定%d元有限集上等价关系的数目为:\n%d",n,sum); getchar();

}

实验C

# include"stdio.h"

# include"ctype.h"

# include"string.h"

# include"stdlib.h"

# include"math.h"

#define MAX 20

#define STU struct stu

int M[MAX][MAX]; /*存放关系矩阵*/

char A[MAX]; /*存放有限集合*/

char B[MAX]; /*存放等价关系*/

int i,j,p,q,n,l,k,t,y;

STU

{

int m;

char tree[20];

};

STU equ[20];

void make_set(STU equ[],char A[],int n) /*使集合A中的元素自成一个子集*/ {

int i;

for(i=0;i

{

equ[i].m=1;

equ[i].tree[0]=A[i];

equ[i].tree[1]='\0';

}

}

find_set(int j) /*查找二元组中元素所属集合*/

{

int i;

for(i=0;i

{

if(M[j][i])

{

break;

}

}

if(i==j)

{

return -1;

}

else

return i;

}

void unionit(STU equ[],int j,int i) /*合并二元组中元素所属集合*/ {

equ[j].tree[equ[j].m] = equ[i].tree[0];

equ[i].tree[0]= '\0';

equ[i].m = 0;

equ[j].m = equ[j].m+1;

equ[j].tree[equ[j].m] = '\0';

}

void disp(STU equ[],int n) /*输出商集*/ {

int i;

printf("A/R={ ");

for(i=0;i

{

if(equ[i].m!=0)

{

printf("{%s} ",equ[i].tree);

}

}

printf(" }");

}

void caculate(STU equ[],char A[],int n) /*计算商集*/ {

int p;

make_set(equ,A,n);

for(i=0;i

{

p = find_set(i);

if(p!=-1){

unionit(equ,p,i);

}

}

disp(equ,n); /*调用输出商集函数*/

}

void getguanxi() /*获得关系R并输出显示*/ {

gets(B);

l=strlen(B);

printf("您输入的关系为:\n");

printf("R={ ");

for(j=0;j

{

printf("<");

printf("%c,",B[j]);

printf("%c",B[j+1]);

printf("> ");

}

printf(" }\n");

}

void translate() /*转换为关系矩阵的函数*/ {

int p,q,i=0,j;

while(B[i]!='\0')

{

if((B[i]>='A')&&(B[i]<='Z'||B[i]>='a')&&(B[i]<='z'))

{

for(j=0;j

{

if (B[i]==A[j])

{

p=j;

break;

}

}

i++;

while(B[i]!='\0')

{

for(j=0;j

if (B[i]==A[j])

{

q=j;

M[p][q]=1;

break;

}

if(j==n)

i++;

else

{

i++;

break;

}

}

}

else

i++;

}

}

void display() /*输出关系矩阵函数*/

{

int i,j;

for(i=0;i

{

for(j=0;j

{

printf("%2d",M[i][j]);

}

printf("\n");

}

}

int zifan() /*判断输入的关系是否自反函数*/ {

int count = 0;

for(i=0;i

{

if(M[i][i]==1)

{

count++;

}

}

if(count == n)

return 1;

else

return 0;

}

int duichen() /*判断输入的关系是否对称函数*/ {

for(i=0;i

{

for(j=i+1;j

{

if(M[i][j]!=M[j][i])

{

return 0;

}

}

printf("\n");

}

return 1;

}

int chuandi() /*判断输入的关系是否传递函数*/ {

int flag=1;

for(i=0;i

{

if(flag==0)break;

for(j=0;j

{

if(flag==0)break;

for(k=0;k

{

if((M[i][j]==1&&M[j][k]==1&&M[i][k]!=1))

{

flag=0;

break;

}

}

}

}

return flag;

}

void clearM() /*第一次输入不是等价关系,重新输入前矩阵清零*/ {

int i,j;

for(i=0;i

for(j=0;j

M[j][i] = 0;

}

void main()

{

printf("请输入一个有限集合(a-z/A-Z):\n");

gets(A);

n=strlen(A);

printf("您输入的集合为:\n");

printf("A={");

for(i=0;i

{

printf("%2c",A[i]);

}

printf(" }\n");

printf("请输入这个集合上的一个等价关系R:\n");

getguanxi(); /*调用获得关系R并输出显示函数*/

translate(); /*调用转换为关系矩阵函数*/

printf("R的关系矩阵为:\n");

display(); /*调用输出关系矩阵函数*/

t=zifan()&&duichen()&&chuandi(); /*判断关系是否等价*/

while(t!=1)

{

printf("您输入的不是等价关系,没有商集,请重新输入!\n");

getguanxi(); /*调用获得关系R并输出显示函数*/

clearM();/*矩阵清零*/

translate(); /*调用转换为关系矩阵函数*/

printf("R的关系矩阵为:\n");

display(); /*调用输出关系矩阵函数*/

t=zifan()&&duichen()&&chuandi(); /*判断关系是否等价*/ }

printf("您所输入的集合和等价关系相应的商集为:\n");

caculate(equ,A,n); /*调用计算商集函数*/

getchar();

}

七、其他收获和体会: 。

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

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

数字基带信号 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位手动开关,从左到右依次与帧同步码、数

离散数学实验报告

《离散数学》实验报告专业网络工程 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系 实验三利用warshall算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习与锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解与记忆命题连接词运算。 二.实验原理 (1) 非运算, 符号:? ,当P=T时 ,?P为F, 当P=F时 ,?P为T 。 (2) 合取, 符号: ∧ , 当且仅当P与Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P与Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P与Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: →, 当且仅当P为T,Q为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ? , 当且仅当P,Q的真值不同时,命题P?Q的真值才为假;否 则,P→Q的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 #include void main() { printf("请输入P、Q的真值\n"); int a,b; scanf("%d%d",&a,&b); int c,d; if(a==1) c=0; else c=1; if(b==1) d=0; else d=1; printf("非P、Q的结果为%d,%d\n",c,d);

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

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

实验一振幅调制器 一、实验目的: 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波形:

离散数学实验报告

离散数学实验报告(实验ABC) 专业班级 学生姓名 学生学号 指导老师 完成时间

目录 第一章实验概述..................................... 错误!未定义书签。 实验目的....................................... 错误!未定义书签。 实验内容....................................... 错误!未定义书签。 实验环境....................................... 错误!未定义书签。第二章实验原理和实现过程........................... 错误!未定义书签。 实验原理....................................... 错误!未定义书签。 建立图的邻接矩阵,判断图是否连通 ............ 错误!未定义书签。 计算任意两个结点间的距离 ................... 错误!未定义书签。 对不连通的图输出其各个连通支 ................ 错误!未定义书签。 实验过程(算法描述)........................... 错误!未定义书签。 程序整体思路 ............................... 错误!未定义书签。 具体算法流程 ................................ 错误!未定义书签。第三章实验数据及结果分析........................... 错误!未定义书签。 建立图的邻接矩阵并判断图是否连通的功能测试及结果分析错误!未定义书签。 输入无向图的边 .............................. 错误!未定义书签。 建立图的连接矩阵 ............................ 错误!未定义书签。 其他功能的功能测试和结果分析................... 错误!未定义书签。 计算节点间的距离 ............................ 错误!未定义书签。 判断图的连通性 .............................. 错误!未定义书签。 输出图的连通支 .............................. 错误!未定义书签。 退出系统 .................................... 错误!未定义书签。第四章实验收获和心得体会........................... 错误!未定义书签。

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

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

实验一: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方法以及构造器省略… };

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

机械基础实验报告 (机械类) 中南大学机械基础实验教学中心 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机器人组装工作站、视觉检测及传送工作站、激光打标工作站、堆垛机及立体仓储工作站。 ②画出该柔性自动化制造系统的物料传输系统结构简图;

离散数学实验报告--四个实验!!!

《离散数学》 课程设计 学院计算机学院 学生姓名 学号 指导教师 评阅意见 提交日期 2011 年 11 月 25 日

引言 《离散数学》是现代数学的一个重要分支,也是计算机科学与技术,电子信息技术,生物技术等的核心基础课程。它是研究离散量(如整数、有理数、有限字母表等)的数学结构、性质及关系的学问。它一方面充分地描述了计算机科学离散性的特点,为学生进一步学习算法与数据结构、程序设计语言、操作系统、编译原理、电路设计、软件工程与方法学、数据库与信息检索系统、人工智能、网络、计算机图形学等专业课打好数学基础;另一方面,通过学习离散数学课程,学生在获得离散问题建模、离散数学理论、计算机求解方法和技术知识的同时,还可以培养和提高抽象思维能力和严密的逻辑推理能力,为今后爱念族皮及用计算机处理大量的日常事务和科研项目、从事计算机科学和应用打下坚实基础。特别是对于那些从事计算机科学与理论研究的高层次计算机人员来说,离散数学更是必不可少的基础理论工具。 实验一、编程判断一个二元关系的性质(是否具有自反性、反自反性、对称性、反对称性和传递性) 一、前言引语:二元关系是离散数学中重要的内容。因为事物之间总是可以 根据需要确定相应的关系。从数学的角度来看,这类联系就是某个集合中元素之间存在的关系。 二、数学原理:自反、对称、传递关系 设A和B都是已知的集合,R是A到B的一个确定的二元关系,那么集合R 就是A×B的一个合于R={(x,y)∈A×B|xRy}的子集合 设R是集合A上的二元关系: 自反关系:对任意的x∈A,都满足∈R,则称R是自反的,或称R具有自反性,即R在A上是自反的?(?x)((x∈A)→(∈R))=1 对称关系:对任意的x,y∈A,如果∈R,那么∈R,则称关系R是对称的,或称R具有对称性,即R在A上是对称的? (?x)(?y)((x∈A)∧(y∈A)∧(∈R)→(∈R))=1 传递关系:对任意的x,y,z∈A,如果∈R且∈R,那么∈R,则称关系R是传递的,或称R具有传递性,即R在A上是传递的? (?x)(?y)(?z)[(x∈A)∧(y∈A)∧(z∈A)∧((∈R)∧(∈R)→(∈R))]=1 三、实验原理:通过二元关系与关系矩阵的联系,可以引入N维数组,以数 组的运算来实现二元关系的判断。 图示:

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

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

目录 实验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个条件,工艺过程稳定;表中右列条件之一不满足,即表示工艺过程不稳定。

离散数学实验报告()

《离散数学》实验报告 专业网络工程 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系 实验三利用warshall算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习和锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解和记忆命题连接词运算。二.实验原理 (1) 非运算, 符号: ,当P=T时,P为F, 当P=F时,P为T 。 (2) 合取, 符号: ∧ , 当且仅当P和Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P和Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P和Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: →, 当且仅当P为T,Q为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ?, 当且仅当P,Q的真值不同时,命题P?Q的真值才为假;否则,P→Q的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 #include void main() { printf("请输入P、Q的真值\n"); int a,b; scanf("%d%d",&a,&b); int c,d; if(a==1) c=0; else c=1; if(b==1) d=0;

中南大学软件体系结构实验报告-实验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),企业员工可通过企业内联网使用该系统。该系统功能描述如下:

离散数学实验报告

大连民族学院 计算机科学与工程学院实验报告 实验题目:判断关系的性质 课程名称:离散数学 实验类型:□演示性□验证性□操作性□设计性□综合性 专业:班级:学生姓名:学号: 实验日期:年月日实验地点: 实验学时:实验成绩: 指导教师签字:年月日 实验报告正文部分(具体要求详见实验报告格式要求) 实验报告格式 [实验题目] 判断关系的性质 [实验目的] 使学生掌握利用计算机语言实现判断关系性质的基本方法。[实验环境] Microsoft Visual C++6.0 [实验原理] 实验内容与要求:对给定表示有穷集上关系的矩阵,确定这个关系是否是自反的或反自反的;对称的或反对称的;是否传递的。 通过二元关系与关系矩阵的联系,可以引入N维数组,以数组的运算来实现二元关系的判断。

图示: 程序源代码: #include #define N 4 main() { int i,j,k; int f,e,z; int M[N][N]; printf("判断R是否为自反关系、对称关系、是否可传递?\n"); printf("请输入一个4*4的矩阵。\n"); for(i=0;i

scanf("%d",&M[i][j]); for(i=0;i

中南大学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 为内标物相,则有:

离散数学实验报告

离散数学实验报告 姓名: 学号: 班级: 实验地点: 实验时间:

1 实验目的和要求 运用最小生成树思想和求最小生成树程序解决实际问题。实际问题描述如下: 八口海上油井相互间距离如下表,其中1号井离海岸最近,为5km 。问从海岸经1号井铺设油管把各井连接起来,怎样连油管长度最短(为便于检修,油管只准在油井处分叉)? 2 实验环境和工具 实验环境:Windows 7 旗舰版 工具:Dev-C++ 5.8.3 3 实验过程 3.1 算法流程图

3.2程序核心代码 //油管铺设问题Prim算法实现 #include #include using namespace std; #define MAXV 10 #define INF 32767 //INF表示∞ typedef int InfoType; typedef struct{ int no; //顶点编号 InfoType info; //顶点其他信息 } VertexType; //顶点类型 typedef struct{ //图的定义 float edges[MAXV][MAXV]; //邻接矩阵 int vexnum; //顶点数 VertexType vexs[MAXV]; //存放顶点信息 } MGraph; //图的邻接矩阵类型

/*输出邻接矩阵g*/ void DispMat(MGraph g){ int i,j; for (i=0;i

中南大学微机实验报告

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

目录 第一部分软件实验 (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。

离散数学实验报告格式

《离散数学》实验报告 专业 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系实验三利用算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习和锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解和记忆命题连接词运算。二.实验原理 (1) 非运算, 符号: ,当时,P为F, 当时,P为T 。 (2) 合取, 符号: ∧ , 当且仅当P和Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P和Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P和Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: → , 当且仅当P为为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ?, 当且仅当的真值不同时,命题P?Q的真值才为假;否则,P→Q 的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 <> () { ; ("请选择运算方式\n"); ("1.析取\n"); ("2.合取\n"); ("3.非\n"); ("4.蕴含\n"); ("5.等价\n");

m; (""); ( m>=1 m<=4 ) { ("请输入P Q的值\n"); (" " ); = 1; (m) { 1( ( >= 1)( < 4 ) ) { (0 0) ("P 析取Q = 0\n"); ("P 析取Q = 1\n"); ; (4) ; ("请输入P Q的值\n"); (" " ); } ; 2( ( >= 0)( < 4 ) ) { (1 1) ("P 合取Q = 1\n"); ("P 合取Q = 0\n"); ; (4) ; ("请输入P Q的值\n"); (" " ); } ; 3( ( >= 0)( < 4 ) ) { (0) ("非Q = 1\n"); ("非Q = 0\n");

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