数据结构----稀疏矩阵运算器课程设计报告书

数据结构----稀疏矩阵运算器课程设计报告书
数据结构----稀疏矩阵运算器课程设计报告书

科技大学

数据结构课程设计说明书

题目:稀疏矩阵运算器设计

学生:

学号:

专业:计算机科学与技术

班级:计09-1班

指导教师:月峰

2011 年 6 月 24 日

稀疏矩阵运算器设计

摘要

摘要:设计一稀疏矩阵运算器。实现转置,相加,相乘的功能。用“带行逻辑信息”的三元组顺序表表示稀疏矩阵,实现两个矩阵相转置、相加和相乘的运算,采用分级的设计方法,分别设计出转置、加、乘运算器的子程序,相加运算时只要依次扫描两矩阵的行号和列号,若相等则相加后存入结果矩阵,不等时则存入较小的。相减运算与相加运算相同,同样比较两矩阵的行号和列号,只是不等时,若第一个小,则存入第一个的元素,若第二个小,则存入其相反数。相乘运算要先判断两矩阵能否相乘。通过给顶的行号和列号找出原矩阵对应的元素值。当在三元组表示中找到时返回其元素值,找不到时,说明该位置为0,因此返回0。然后利用该函数计算出C的行号i和列号j 处的元素值,若该值不为0,则存入矩阵,否则不存入。通过实验表明本程序能够进行稀疏矩阵的相加,相减,相乘运算。具备矩阵的加、减、乘功能。

关键词:转置运算器;相加运算器;相乘运算器

目录

稀疏矩阵运算器设计........................................................ I 摘要................................................................... II 第一章需求分析. (1)

第二章概要设计 (2)

第三章设计步骤 (6)

3.1 函数说明 (6)

3.2 设计步骤 (7)

第四章设计理论分析方法 (20)

4.1 算法一:矩阵转置 (20)

4.2 算法二:矩阵加法 (20)

4.3 算法三:矩阵乘法 (21)

第五章程序调试 (23)

第六章心得体会 (25)

参考文献 (26)

第一章需求分析

1.稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。

2.以“带行逻辑信息”的三元组顺序表表示稀疏矩阵,实现矩阵转置,求逆,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则以通常的阵列形式列出。

3.演示程序以用户和计算机的对话方式执行,数组的建立方式为边输入边建立。

4.由题目要求可知:首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否相匹配。

5.程序可以对三元组的输入顺序不加以限制;根据对矩阵的行列,三元组作直接插入排序,从而进行运算时,不会产生错误。

6.在用三元组表示稀疏矩阵时,相加、乘积和相减所得结果矩阵应该另生成;矩阵求逆时,为了算法方便,使用二维数组存放。

7.程序在VC6.0环境下设计。

程序执行的命令为:1.稀疏矩阵转置; 2.稀疏矩阵加法; ;3. 稀疏矩阵乘法; 4.退出

的工作。

第二章概要设计

1.抽象数据类型稀疏矩阵的定义如下:

ADT SparseMatrix{

数据对象:D={a

ij

|i=1,2,…,m; j=1,2,…,n;

a

ij

∈ElemSet, m和n分别为矩阵的行数和列数} 数据关系:R={Row,Col }

Row={﹤a

i,j , a

i,j+1

﹥| 1≤i≤m, 1≤j≤n-1}

Col = {﹤a

i,j , a

i+1,j

﹥| 1≤i≤m-1, 1≤j≤n}

基本操作:

create(TSMatrix &TM)

操作结果:创建稀疏矩阵矩阵TM

LocateELem(TSMatrix M,int i,int j,int e)

初始条件:稀疏矩阵M存在

操作结果:稀疏矩阵中是否存在非零元素A[i][j],若存在返回e disp(TSMatrix TM)

初始条件:稀疏矩阵TM存在

操作结果:通常形式输出稀疏矩阵

InsertSortMatrix(TSMatrix &TM)

初始条件:稀疏矩阵TM存在

操作结果:根据对矩阵的行列,三元组TM作直接插入排序

TransposeSMatrix(TSMatrix M,TSMatrix &T)

初始条件:稀疏矩阵M和T存在

操作结果:求稀疏矩阵M转置的稀疏矩阵T

AddTSM(TSMatrix A,TSMatrix B,TSMatrix &C)

初始条件:稀疏矩阵A,B和C存在

操作结果:稀疏矩阵的加法运算:C=A+B

SubTSM(TSMatrix A,TSMatrix B,TSMatrix &C)

初始条件:稀疏矩阵A,B和C存在

操作结果:稀疏矩阵的减法运算:C=A-B

MultSMatrix(TSMatrix A,TSMatrix B,TSMatrix &C)

初始条件:稀疏矩阵A,B和C存在

操作结果:稀疏矩阵的乘法运算:C=A×B

NiMatrix(TSMatrix &TM)

初始条件:稀疏矩阵TM存在

操作结果:稀疏矩阵求逆

}ADT SparseMatrix;

2. 主程序:

void main( )

{初始化;

do {

接受命令;

选择处理命令;

}while(命令!=“退出”)

}

3. 本程序有四个模块,调用关系如下:

图2.1 4 本程序的流程图

热交换器温度控制系统课程设计报告书

热交换器温度控制系统 一.控制系统组成 由换热器出口温度控制系统流程图1可以看出系统包括换热器、热水炉、控制冷流体的多级离心泵,变频器、涡轮流量传感器、温度传感器等设备。 图1换热器出口温度控制系统流程图 控制过程特点:换热器温度控制系统是由温度变送器、调节器、执行器和被控对象(出口温度)组成闭合回路。被调参数(换热器出口温度)经检验元件测量并由温度变送器转换处理获得测量信号c,测量值c与给定值r的差值e送入调节器,调节器对偏差信号e进行运算处理后输出控制作用u。 二、设计控制系统选取方案 根据控制系统的复杂程度,可以将其分为简单控制系统和复杂控制系统。其中在换热器上常用的复杂控制系统又包括串级控制系统和前馈控制系统。对于控制系统的选取,应当根据具体的控制对象、控制要求,经济指标等诸多因素,选用合适的控制系统。以下是通过对换热器过程控制系统的分析,确定合适的控制系统。

换热器的温度控制系统工艺流程图如图2所示,冷流体和热流体分别通过换热器的壳程和管程,通过热传导,从而使热流体的出口温度降低。热流体加热炉加热到某温度,通过循环泵流经换热器的管程,出口温度稳定在设定值附近。冷流体通过多级离心泵流经换热器的壳程,与热流体交换热后流回蓄电池,循环使用。在换热器的冷热流体进口处均设置一个调节阀,可以调节冷热流体的大小。在冷流体出口设置一个电功调节阀,可以根据输入信号自动调节冷流体流量的大小。多级离心泵的转速由便频器来控制。 换热器过程控制系统执行器的选择考虑到电动调节阀控制具有传递滞后大,反应迟缓等缺点,根具离心泵模型得到通过控制离心泵转速调节流量具有反应灵敏,滞后小等特点,而离心泵转速是通过变频器调节的,因此,本系统中采用变频器作为执行器。 图2换热器的温度控制系统工艺流程图 引起换热器出口温度变化的扰动因素有很多,简要概括起来主要有: (1)热流体的流量和温度的扰动,热流体的流量主要受到换热器入口阀门的开度和循环泵压头的影响。热流体的温度主要受到加热炉加热温度和管路散热的影响。 (2 )冷流体的流量和温度的扰动。冷流体的流量主要受到离心泵的压头、转速

数据结构哈夫曼编码译码器课程设计报告

JAVA语言实验报告 学院计算机工程学院班级计算1013 姓名佐伊伦学号 201081xxxx 成绩指导老师 xxxx 2012年09月03日

目录 目录 (1) 1 课程设计的目的和意义 (2) 2 需求分析 (3) 3 系统(项目)设计 (5) ①设计思路及方案 (5) ②模块的设计及介绍 (5) ③主要模块程序流程图 (8) 4 系统实现 (11) ①主调函数 (12) ②建立HuffmanTree (12) ③生成Huffman编码并写入文件 (15) ④电文译码 (16) 5 系统调试 (17) 参考文献 (21) 附录源程序 (22)

1 课程设计的目的和意义 在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。 哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个对应的字符的编码,这就是哈夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希望总长度尽可能最短,即采用最短码。 作为信息管理专业的学生,我们应该很好的掌握这门技术。在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。 在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。 在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见。同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。 数据结构课程具有比较强的理论性,同时也具有较强的可应用性和实践性。课程设计是一个重要的教学环节。我们在一般情况下都能够重视实验环节,但是容易忽略实验的总结,忽略实验报告的撰写。通过这次实验让我们明白:作为一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。只有这样,我们的综合素质才会有好的提高。

数据结构稀疏矩阵基本运算实验报告

课程设计 课程:数据结构 题目:稀疏矩阵4 三元组单链表结构体(行数、列数、头) 矩阵运算重载运算符优 班级: 姓名: 学号: 设计时间:2010年1月17日——2010年5月XX日 成绩: 指导教师:楼建华

一、题目 二、概要设计 1.存储结构 typedef struct{ int row,col;//行,列 datatype v;//非0数值 }Node; typedef struct{ Node data[max];//稀疏矩阵 int m,n,t;//m 行,n 列,t 非0数个数 … … 2.基本操作 ⑴istream& operator >>(istream& input,Matrix *A)//输入 ⑵ostream& operator <<(ostream& output,Matrix *A){//输出 ⑶Matrix operator ~(Matrix a,Matrix b)//转置 ⑷Matrix operator +(Matrix a,Matrix b)//加法 ⑸Matrix operator -(Matrix a,Matrix b)//减法 ⑹Matrix operator *(Matrix a,Matrix b)//乘法 ⑺Matrix operator !(Matrix a,Matrix b)//求逆 三、详细设计 (1)存储要点 position[col]=position[col-1]+num[col-1]; 三元组表(row ,col ,v) 稀疏矩阵((行数m ,列数n ,非零元素个数t ),三元组,...,三元组) 1 2 3 4 max-1

列管式换热器课程设计

——大学《化工原理》列管式换热器 课程设计说明书 学院: 班级: 学号: 姓名: 指导教师: 时间:年月日

目录 一、化工原理课程设计任务书............................................................................ . (2) 二、确定设计方案............................................................................ (3) 1.选择换热器的类型 2.管程安排 三、确定物性数据............................................................................ (4) 四、估算传热面积............................................................................ (5) 1.热流量 2.平均传热温差 3.传热面积 4.冷却水用量 五、工艺结构尺寸............................................................................ (6) 1.管径和管内流速 2.管程数和传热管数 3.传热温差校平均正及壳程数 4.传热管排列和分程方法 5.壳体内径 6.折流挡板 (7) 7.其他附件 8.接管 六、换热器核算............................................................................ . (8) 1.热流量核算 2.壁温计算 (10) 3.换热器内流体的流动阻力 七、结构设计............................................................................ . (13) 1.浮头管板及钩圈法兰结构设计 2.管箱法兰和管箱侧壳体法兰设计 3.管箱结构设计 4.固定端管板结构设计 5.外头盖法兰、外头盖侧法兰设计 (14) 6.外头盖结构设计 7.垫片选择

课程设计报告,列管式换热器设计

设计(论文)题目: 列管式换热器的设计 目录 1 前言 (3) 2 设计任务及操作条件 (3) 3 列管式换热器的工艺设计 (3) 3.1换热器设计方案的确定 (3) 3.2 物性数据的确定 (4) 3.3 平均温差的计算 (4) 3.4 传热总系数K的确定 (4) 3.5 传热面积A的确定 (6) 3.6 主要工艺尺寸的确定 (6) 3.6.1 管子的选用 (6) 3.6.2 管子总数n和管程数Np的确定 (6) 3.6.3 校核平均温度差 t m及壳程数Ns (7) 3.6.4 传热管排列和分程方法 (7) 3.6.5 壳体径 (7) 3.6.6 折流板 (7)

3.7 核算换热器传热能力及流体阻力 (7) 3.7.1 热量核算 (7) 3.7.2 换热器压降校核 (9) 4 列管式换热器机械设计 (10) 4.1 壳体壁厚的计算 (10) 4.2 换热器封头选择 (10) 4.3 其他部件 (11) 5 课程设计评价 (11) 5.1 可靠性评价 (11) 5.2 个人感想 (11) 6 参考文献 (11) 附表换热器主要结构尺寸和计算结果 (12) 1 前言 换热器(英语翻译:heat exchanger),是将热流体的部分热量传递给冷流体的设备,又称热交换器。换热器是化工、石油、动力、食品及其它许多工业部门的通用设备,在生产中占有重要地位。在化工生产中换热器可作为加热器、冷却器、冷凝器、蒸发器和再沸器等,应用更加广泛。换热器种类很多,但根据冷、热流体热量交换的原理和方式基本上可分三大类即:间壁式、混合式和蓄热式。 列管式换热器工业上使用最广泛的一种换热设备。其优点是单位体积的传热面积、处理能力和操作弹性大,适应能力强,尤其在高温、高压和大型装置中采用更为普遍。列管式换热器主要有以下几个类型:固定管板式换热器、浮头式换热器、U形管式换热器等。 设计一个比较完善的列管式换热器,除了能满足传热方面的要求外,还应该满足传热效率高、体积小、重量轻、消耗材料少、制造成本低、清洗维护方便和操作安全等要求。 列管式换热器的设计,首先应根据化工生产工艺条件的要求,通过化工工艺计算,确定换热器的传热面积,同时选择管径、管长,确定管数、管程数和壳程数,

译码器实验报告

译码器实验报告 实验三译码器及其应用 一、实验目的 1、掌握译码器的测试方法。 2、了解中规模集成译码器的功能,管脚分布,掌握其逻辑功能。 3、掌握用译码器构成 组合电路的方法。4、学习译码器的扩展。 二、实验仪器 1、数字逻辑电路实验板1块 2、74hc138 3-8线译码器2片 3、74hc20 双4输入与非 门1片 三、实验原理 1、中规模集成译码器74hc138 74hc138是集成3线-8线译码器,

在数字系统中应用比较广泛。图3-1是其引脚排列。其中a2 、a1 、a0 为地址输入端,0y~7y为译码输出端,s1、2s 、3s 为使能端。74hc138真值表如下:74hc138引脚图为:74hc138工作原理为:当s1=1,s2+s3=0时,电路完成译码功能,输出低电平有效。其 中: 2、译码器应用 因为74hc138 三-八线译码器的输出包括了三变量数字信号的全部八种组合,每一个输出端表示一个最小项,因此可以利用八条输出线组合构成三变量的任意组合电路。 四、实验内容 1、译码器74hc138 逻辑功能测试(1)控制端功能测试测试电路如图:按上表所示条件输入开关状态。观察并记录译码器输出状态。led指示灯亮为0,灯不 亮为1。

(2)逻辑功能测试 将译码器使能端s1、2s 、3s 及地址端a2、a1、a0 分别接至逻辑电平开关输出口,八个输出端y7 ?????y0依次连接在逻辑电平显示器的八个输入口上,拨动逻辑电平开关,按 下表逐项测试74hc138的逻辑功能。 2、用74hc138实现逻辑函数y=ab+bc+ca 如果设a2=a,a1=b,a0=c,则函数y 的逻辑图如上所示。用74hc138和74hc20各一块 在实验箱上连接下图线路。并将测试结果下面的记录表中。 3、用两个3线-8线译码器构成4线-16线译码器。利用使能端能方便地将两个3/8译码器组合成一个4/16译码器,如下图所示。 五、实验结果记录:2、74hc138实现逻辑函数y=ab+bc+ca,实验结果记录: 六、实验注意事项

数据结构实验报告图实验

邻接矩阵的实现 1. 实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现2. 实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历3.设计与编码MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; }

int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: " cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } }

3-8译码器课程设计报告

EDA技术实验报告 —3-8译码器的设计 一.实验目的 1.通过一个简单的3-8译码器的设计,掌握组合逻辑电路的设 计方法。 2.掌握组合逻辑电路的静态测试方法。 3.初步了解QUARTUSⅡ软件的基本操作和应用。 4.初步了解可编程逻辑器件的设计全过程。 二.实验原理 3-8译码器的三输入,八输出。输入信号N用二进制表示,对应的输出信号N输出高电平时表示有信号产生,而其它则为 低电平表示无信号产生。其真值表如下图所示:

当使能端指示输入信号无效或不用对当前的信号进行译码时,输出端全为高电平,表示任何信号无效。 三.实验内容 用三个拨动开关来表示三八译码器的三个输入(A,B,C),用八个LED来表示三八译码器的八个输出(D0-D7)。通过与实验箱的FPGA接口相连,来验证真值表中的内容。 表1-2拨动开关与FPGA管脚连接表 表1-3LED 灯与FPGA管脚连接表 (当FPGA与其对应的接口为高电平时,LED会发亮)

LED1 LED3 G14 从FPGA的G14至 LED1 LED4 H12 从FPGA的H12至 LED1 LED5 H11 从FPGA的H11至 LED1 LED6 J10 从FPGA的J10至LED1 LED7 L9 从FPGA的L9至LED1 LED8 H1O 从FPGA的H10至 LED1 四.实验歩骤 1.建立工程文件

2.建立图形设计软件 (1)将要选择的器件符号放置在图形编辑器的工作区域,用正

交节点工具将原件安装起来,然后定义端口的名称。结果如下图: 3.编 译 前 设 置 (1)选 择 目标芯片 (2)选择目标芯片的引脚状态 4.对设计文件进行编译

数据结构—矩阵课后题

P-219-29T template T** LowerMatrix::operator*(const LowerMatrix& m) const{ if(n!=m.n) throw SizeMismatch(); T** w = new T *[n]; for(int i=0;i T** UpperMatrix::operator*(const LowerMatrix& m) const{ int front=0; if(n!=m.n) throw SizeMismatch(); T** c = new T *[n]; for(int i=0;i

for(int j=0;j SparseMatrix& SparseMatrix::Store(const int& x,int i,int j){ if(i<1 || j<1 || i>rows || j>cols ) throw OutOfBounds(); if(terms = = 0){ if(x ==0 ) return *this; a[0].row = i; a[0].col = j; a[0].value = x; terms++; return *this; } int location = a[0].row*cols + a[0].col; int other = i*cols + j; int k = 0; while(klocation){ k++; if(k!=terms) location = a[k].row*cols + a[k].col; } if(k == terms){ if(terms = = MaxTerms) throw OutOfBounds();

化工原理课程设计说明书(换热器的设计)

中南大学 化工原理课程设计 2010年01月22日 <

目录 一、设计题目及原始数据(任务书) (3) 二、设计要求 (3) 三、列环式换热器形式及特点的简述 (3) 四、论述列管式换热器形式的选择及流体流动空间的选择 (8) 五、换热过程中的有关计算(热负荷、壳层数、总传热系数、传热 面积、压强降等等) (10) ①@ 14 ②物性数据的确定……………………………………………… ③总传热系数的计算 (14) ④传热面积的计算 (16) ⑤工艺结构尺寸的计算 (16) ⑥换热器的核算 (18) 六、设计结果概要表(主要设备尺寸、衡算结果等等) (22) 七、主体设备计算及其说明 (22) 八、主体设备装置图的绘制 (33) 九、? 33十、课程设计的收获及感想………………………………………… 十一、附表及设计过程中主要符号说明 (37) 十二、参考文献 (40)

一、设计题目及原始数据(任务书) 1、生产能力:17×104吨/年煤油 # 2、设备形式:列管式换热器 3、设计条件: 煤油:入口温度140o C,出口温度40 o C 冷却介质:自来水,入口温度30o C,出口温度40 o C 允许压强降:不大于105Pa 每年按330天计,每天24小时连续运行 二、设计要求 1、选择适宜的列管式换热器并进行核算 【 2、要进行工艺计算 3、要进行主体设备的设计(主要设备尺寸、横算结果等) 4、编写设计任务书 5、进行设备结构图的绘制(用420*594图纸绘制装置图一张:一主视图,一俯视图。一剖面图,两个局部放大图。设备技术要求、主要参数、接管表、部件明细表、标题栏。) 三、列环式换热器形式及特点的简述 换热器概述

哈夫曼编译码器课程设计报告完整版

XXX学院本科 数据结构课程设计总结报告 设计题目:实验一、哈夫曼编/译码器 学生姓名:XXX 系别:XXX 专业:XXX 班级:XXX 学号:XXX 指导教师:XXX XXX 2012年6 月21日 xxx学院 课程设计任务书 题目一、赫夫曼编译码器 专业、班级xxx 学号xxx 姓名xxx 主要内容、基本要求、主要参考资料等: 1. 主要内容 利用哈夫曼编码进行信息通信可大大提高信道利用率,缩短信息传输时间,降低传输成本。要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。对于双工信道(既可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼的编/译码系统。 2. 基本要求 系统应具有以下功能: (1)C:编码(Coding)。对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中,将以此建好的哈夫曼树存入文件HuffmanTree中

(2)D:解码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入textfile中。 (3)P:打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件codeprint中。 (4)T:打印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件treeprint中。 3. 参考资料:数据结构(C语言版)严蔚敏、吴伟民编着; 数据结构标准教程胡超、闫宝玉编着 完成期限:2012年6月21 日 指导教师签名: 课程负责人签名: 2012年 6月 21 日 一、设计题目(任选其一) 实验一、哈夫曼编/译码器 二、实验目的 1巩固和加深对数据结构的理解,提高综合运用本课程所学知识的能力; 2 深化对算法课程中基本概念、理论和方法的理解; 3 巩固构造赫夫曼树的算法; 4 设计试验用程序实验赫夫曼树的构造。 三、运行环境(软、硬件环境) Windows xp sp3,Visual C++ 英文版 四、算法设计的思想 (1)初始化赫夫曼树,输入文件中各字符及其权值,并保存于文件中 (2)编码(Coding)。对文件tobetrans中的正文进行编码,然后将结果存入文件codefile 中 (3)D:解码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入textfile中。 (4)P:打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件codeprint中。

数据结构实验报告图实验

图实验 一,邻接矩阵的实现 1.实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现 2.实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历 3.设计与编码 #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ } void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, arcNum; }; #endif #include using namespace std; #include "" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0;

课程设计—列管式换热器

课程设计设计题目:列管式换热器 专业班级:应化1301班 姓名:王伟 学号: U201310289 指导老师:王华军 时间: 2016年8月

目录 1.课程设计任务书 (5) 1.1 设计题目 (5) 1.2 设计任务及操作条件 (5) 1.3 技术参数 (5) 2.设计方案简介 (5) 3.课程设计说明书 (6) 3.1确定设计方案 (6) 3.1.1确定自来水进出口温度 (6) 3.1.2确定换热器类型 (6) 3.1.3流程安排 (7) 3.2确定物性数据 (7) 3.3计算传热系数 (8) 3.3.1热流量 (8) 3.3.2 平均传热温度差 (8) 3.3.3 传热面积 (8) 3.3.4 冷却水用量 (8) 4.工艺结构尺寸 (9) 4.1 管径和管内流速 (9) 4.2 管程数和传热管数 (9)

4.3 传热管排列和分程方法 (9) 4.4 壳体内径 (10) 4.5 折流板 (10) 4.6 接管 (11) 4.6.1 壳程流体进出管时接管 (11) 4.6.2 管程流体进出管时接管 (11) 4.7 壁厚的确定和封头 (12) 4.7.1 壁厚 (12) 4.7.2 椭圆形封头 (12) 4.8 管板 (12) 4.8.1 管板的结构尺寸 (13) 4.8.2 管板尺寸 (13) 5.换热器核算 (13) 5.1热流量衡算 (13) 5.1.1壳程表面传热系数 (13) 5.1.2 管程对流传热系数 (14) 5.1.3 传热系数K (15) 5.1.4 传热面积裕度 (16) 5.2 壁温衡算 (16) 5.3 流动阻力衡算 (17) 5.3.1 管程流动阻力衡算 (17) 5.3.2 壳程流动阻力衡算 (17)

化工原理课程设计报告(换热器)

《化工原理课程设计任务书》(1) 一、设计题目: 设计一台换热器 二、操作条件: 1.苯:入口温度80℃,出口温度40℃。 2.冷却介质:循环水,入口温度35℃。 3.允许压强降:不大于50kPa。 4.每年按300天计,每天24小时连续运行。 三、设备型式: 管壳式换热器 四、处理能力: 1. 99000吨/年苯 五、设计要求: 1.选定管壳式换热器的种类和工艺流程。 2.管壳式换热器的工艺计算和主要工艺尺寸的设计。 3.设计结果概要或设计结果一览表。 4.设备简图。(要求按比例画出主要结构及尺寸) 5.对本设计的评述及有关问题的讨论。 一、选定管壳式换热器的种类和工艺流程 1.选定管壳式换热器的种类 管壳式换热器是目前化工生产中应用最广泛的传热设备。与其他种类的换热器相比,其主要优点是:单位体积具有的传热面积较大以及传热效果较好;此外,结构简单,制造的材料范围较广,操作弹性也较大等。因此在高压高温和大型装置上多采用管壳式换热器。 管壳式换热器中,由于两流体的温度不同,管束和壳体的温度也不相同,因此他们的热膨胀程度也有差别。若两流体的温度差较大(50℃以上)时,就可能由于热应力而引起设备变形,甚至弯曲或破裂,因此必须考虑这种热膨胀的影响。根据热补偿方法的不同,管壳式换热器有下面几种形式。

(1)固定管板式换热器 这类换热器的结构比较简单、紧凑、造价便宜,但管外不能机械清洗。此种换热器管束连接在管板上,管板分别焊在外壳两端,并在其上连接有顶盖,顶盖和壳体装有流体进出口接管。通常在管外装置一些列垂直于管束的挡板。同时管子和管板与外壳的连接都是刚性的,而管内管外是两种不同温度的流体。因此,当管壁与壳壁温差较大时,由于两者的热膨胀不同,产生了很大的温差应力,以致管子扭弯或是管子从管板上松脱,甚至毁坏换热器。 为了克服温差应力必须有温差补偿装置,一般在管壁与壳壁温度相差50℃以上时,为安全起见,换热器应有温差补偿装置。但补偿装置(膨胀节)只能用在壳壁与管壁温差低于60-70℃和壳程流体压强不高的情况下。一般壳程压强超过0.6MPa时,补偿圈过厚,难以伸缩,失去温差补偿作用,就要考虑其他结构。其结果如下图所示: (2)浮头式换热器 换热器的一块管板用法兰与外壳相连接,另一块管板不与外壳连接,以使管子受热或冷却时可以自由伸缩,但在这块管板上连接一个顶盖,称之为“浮头”,所以这种换热器称为浮头式换热器。其优点是:管束可以拉出,以便清洗;管束的膨胀不受壳体约束,因此当两种换热器介质的温差大时,不会因管束与壳体的热膨胀量的不同而产生温差应力。其缺点是结构复杂,造价高。其结构如下: (3) U型管换热器 这类换热器只有一个管板,管程至少为两程,管束可以抽出清洗,管子可以自由膨胀。其缺点是管子内壁清洗困难,管子更换困难,管板上排列的管子少。其结构如下图所示: (4)填料函式换热器 这类换热器管束一端可以自由膨胀,结构比浮头式简单,造价也比浮头式低廉。但壳程内介质有外漏的可能,壳程中不应处理一易挥发、易燃易爆和有毒的介质。其结构如下: 由设计书的要求进行分析: 一般来说,设计时冷却水两端温度差可取为5℃~10℃。缺水地区选用较大的温度差,水资源丰富地区选用较小的温度差。青海是“中华水塔”,水资源 相对丰富,故选择冷却水较小的温度差6℃,即冷却水的出口温度为31℃。T m -t m =80+4025+31 -=32 22 ℃<50℃,且允许压强降不大于50kPa,可选择固定管板式换 热器。 2.工艺流程图 主要说明:由于循环冷却水较易结垢,为便于水垢清洗,所以选定循环水走管程,苯走壳程。如图所示,苯经泵抽上来,经加水器加热后,再经管道从接管C进入换热器壳程;冷却水则由泵抽上来经管道从接管A进入换热器管程。两物质在换热器中进行换热,苯从80℃被冷却至40℃之后,由接管D流出;循环冷却水则从25℃变为31℃,由接管B流出。 二、管壳式换热器的工艺计算和主要工艺尺寸的设计 1.估算传热面积,初选换热器型号 (1)基本物理性质数据的查取

哈夫曼编码译码器---课程设计报告

目录 目录 (2) 1课程设计的目的和意义 (3) 2需求分析 (4) 3概要设计 (4) 4详细设计 (8) ¥ 5调试分析和测试结果 (11) 6总结 (12) 7致谢 (13) 8附录 (13) 参考文献 (20) .

| ; 1 课程设计目的与意义 在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。 哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个对应的字符的编码,这就是哈夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希望总长度尽可能最短,即采用最短码。 作为计算机专业的学生,我们应该很好的掌握这门技术。在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。 ( 在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们

可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。 在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见。同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。 数据结构课程具有比较强的理论性,同时也具有较强的可应用性和实践性。课程设计是一个重要的教学环节。我们在一般情况下都能够重视实验环节,但是容易忽略实验的总结,忽略实验报告的撰写。通过这次实验让我们明白:作为一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。只有这样,我们的综合素质才会有好的提高。 2 需求分析 课题:哈夫曼编码译码器 ) 问题描述:打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,对每一个字符进行编码,编码完成后再对其编码进行译码。问题补充:1. 从硬盘的一个文件里读出一段英语文章; 2. 统计这篇文章中的每个字符出现的次数; 3. 以字符出现字数作为权值,构建哈夫曼树,并将哈夫曼树的存储 结构的初态和终态进行输出; 4. 对每个字符进行编码并将所编码写入文件然后对所编码进行破 译。 具体介绍:在本课题中,我们在硬盘中预先建立一个文档,在里面编辑一篇文章。然后运行程序,调用函数读出该文章,显示在界面;再调用函数对该文章的字符种类进行统计,并对每个字符的出现次数进行统计,并且在界面上显示;然后以每个字符出现次数作为权值,调用函数构建哈夫曼树;并调用函数将哈夫曼的存储结构的初态和终态进行输出。然后调用函数对哈夫曼树进行编码,调用函数将编码写入文件;再调用对编码进行译码,再输出至界面。至此,整个工作就完成了 3 概要设计。

列管式换热器课程设计

化工原理课程设计说明书列管式换热器的选用和设计

目录 1 化工原理课程设计任务书 2 设计概述 3 换热器方案的确定 3.1 确定设计方案 3.2确定物性数据 3.3 计算总传热系数 4 计算换热面积 5 工艺结构尺寸 5.1 管径和管内流速 5.2 管程和传热管数 5.3 平均传热温差校正及壳程数 6传热管的排列和分程方法 7换热器核算 8 换热器的主要结构尺寸和计算结果表 9 设计评述 10 参考资料 11 主要符号说明 12 特别鸣谢

1化工原理课程设计任务书 欲用自来水将2.3万吨/年的异丁烯从300℃冷却至90℃,冷水进、出口温度分别为25℃和90℃。若要求换热器的管程和壳程压强降不大于100kpa,试选择合适型号的列管式换热器。假设管壁热阻和热损失可以忽略。 名称水异丁烯 密度 996 12 比热 4.08 130 导热系数 0.668 0.037 粘度 0.37×10^-3 13×10^-3 2.概述与设计方案简介 换热器的类型 列管式换热器又称为管壳式换热器,是最典型的间壁式换热器,历史悠久,占据主导作用,主要有壳体、管束、管板、折流挡板和封头等组成。一种流体在关内流动,其行程称为管程;另一种流体在管外流动,其行程称为壳程。管束的壁面即为传热面。 其主要优点是单位体积所具有的传热面积大,传热效果好,结构坚固,可选用的结构材料范围宽广,操作弹性大,因此在高温、高压和大型装置上多采用列管式换热器。为提高壳程流体流速,往往在壳体内安装一定数目与管束相互垂直的折流挡板。折流挡板不仅可防止流体短路、增加流体流速,还迫使流体按规定路径多次错流通过管束,使湍流程度大为增加。列管式换热器中,由于两流体的温度不同,使管束和壳体的温度也不相同,因此它们的热膨胀程度也有差别。若两流体温差较大(50℃以上)时,就可能由于热应力而引起设备的变形,甚至弯曲或破裂,因此必须考虑这种热膨胀的影响。 2.1换热器 换热器是化工、石油、食品及其他许多工业部门的通用设备,在生产中占有重要地位。由于生产规模、物料的性质、传热的要求等各不相同,故换热器的类型也是多种多样。 按用途它可分为加热器、冷却器、冷凝器、蒸发器和再沸器等。根据冷、热流体热量交换的原理和方式可分为三大类:混合式、蓄热式、间壁式。 间壁式换热器又称表面式换热器或间接式换热器。在这类换热器中,冷、热流体被固体壁面隔开,互不接触,热量从热流体穿过壁面传给冷流体。该类换热器适用于冷、热流体不允许直接接触的场合。间壁式换热器的应用广泛,形式繁多。将在后面做重点介绍。

列管式换热器课程设计

(封面) XXXXXXX学院 列管式换热器课程设计报告 题目: 院(系): 专业班级: 学生姓名: 指导老师: 时间:年月日 目录

1、设计题目(任务书) (2) 2、流程示意图 (3) 3、流程及方案的说明和论证 (3) 4、换热器的设计计算及说明 (4) 5、主体设备结构图 (10) 6、设计结果概要表 (11) 7、设计评价及讨论 (12) 8、参考文献 (12) 附图:主体设备结构图和花版设计图 一.任务书

(一)设计题目: 列管式冷却器设计 (二)设计任务: 将自选物料用河水冷却或自选热源加热至生产工艺所要求的温度 (三)设计条件: 1.处理能力:G=学号最后2位×300t物料/d; 2.冷却器用河水为冷却介质,考虑广州地区可取进口水温度为20~30C;加热器用热水或水蒸气为热源,条件自选; 3.允许压降:不大于105Pa; 4.传热面积安全系数5~15% 5.每年按330天计,每天24小时连续运行。 (四)设计要求: 1.对确定的设计方案进行简要论述; 2.物料衡算、热量衡算; 3.确定列管壳式冷却器的主要结构尺寸; 4.计算阻力; 5.选择合宜的列管换热器并运行核算; 6.用Autocad绘制列管式冷却器的结构(3号图纸)、花板布置图(3号图纸); 7.编写设计说明书(包括:①.封面;②.目录;③.设计题目;④.流程示意图;⑤.流程及方案的说明和论证;⑥设计计算及说明;⑦主体设备结构图;⑧设计结果概要表;⑨对设计的评价及问题讨论;⑩参考文献。) (五)设计进度安排: 备注:参考文献格式: 期刊格式为:作者姓名.出版年.论文题目.刊物名称.卷号(期号):起止页码。专著格式为:作者姓名.出版年.专著书名.出版社名.起止页码。 二.流程示意图

数字电路——2-4译码器设计

目录 1 绪论 (1) 1.1设计背景 (1) 2 电路分析 (2) 2.1 2-4功能分析 (2) 2.2 2-4译码器逻辑图 (3) 3 系统建模与仿真 (4) 3.1 建模 (4) 3.2 仿真波形 (5) 4 仿真结果分析 (7) 5 小结与体会 (8) 参考文献 (9)

1 绪论 1.1设计背景 在数字系统中,经常需要将一中代码转换为另一种代码,以满足特定的需求,完成这 种功能的电路称为码转化电路。译码器就属于其中一种。而译码就是编码的逆过程,它的功能是将具有特定含义的二进制码转换成对应的有效输出信号,具有译码功能的的逻辑电路称为译码器。而2-4译码器是唯一地址译码器,是将一系列的代码转换成与之一一对应有效的信号。常用于计算机中对存储单元地址的译码,因此,设计2-4译码器具有很强的现实意义。 1.2 matlab简介 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学 计算软件的先进水平。它主要由 MATLAB和Simulin k两大部分组成。本设计主要采用simulink进行设计与仿真。Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。掌握这个软件的应用具有十分重要的意义。

数据结构实验报告(图)

附录A 实验报告 课程:数据结构(c语言)实验名称:图的建立、基本操作以及遍历系别:数字媒体技术实验日期: 12月13号 12月20号 专业班级:媒体161 组别:无 姓名:学号: 实验报告内容 验证性实验 一、预习准备: 实验目的: 1、熟练掌握图的结构特性,熟悉图的各种存储结构的特点及适用范围; 2、熟练掌握几种常见图的遍历方法及遍历算法; 实验环境:Widows操作系统、VC6.0 实验原理: 1.定义: 基本定义和术语 图(Graph)——图G是由两个集合V(G)和E(G)组成的,记为G=(V,E),其中:V(G)是顶点(V ertex)的非空有限集E(G)是边(Edge)的有限集合,边是顶点的无序对(即:无方向的,(v0,v2))或有序对(即:有方向的,)。 邻接矩阵——表示顶点间相联关系的矩阵 设G=(V,E) 是有n 1 个顶点的图,G 的邻接矩阵A 是具有以下性质的n 阶方阵特点: 无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2 有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n2 9

无向图中顶点V i的度TD(V i)是邻接矩阵A中第i行元素之和有向图中, 顶点V i的出度是A中第i行元素之和 顶点V i的入度是A中第i列元素之和 邻接表 实现:为图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点Vi的边(有向图中指以Vi为尾的弧) 特点: 无向图中顶点Vi的度为第i个单链表中的结点数有向图中 顶点Vi的出度为第i个单链表中的结点个数 顶点Vi的入度为整个单链表中邻接点域值是i的结点个数 逆邻接表:有向图中对每个结点建立以Vi为头的弧的单链表。 图的遍历 从图中某个顶点出发访遍图中其余顶点,并且使图中的每个顶点仅被访问一次过程.。遍历图的过程实质上是通过边或弧对每个顶点查找其邻接点的过程,其耗费的时间取决于所采用的存储结构。图的遍历有两条路径:深度优先搜索和广度优先搜索。当用邻接矩阵作图的存储结构时,查找每个顶点的邻接点所需要时间为O(n2),n为图中顶点数;而当以邻接表作图的存储结构时,找邻接点所需时间为O(e),e 为无向图中边的数或有向图中弧的数。 实验内容和要求: 选用任一种图的存储结构,建立如下图所示的带权有向图: 要求:1、建立边的条数为零的图;

相关文档
最新文档