当前位置:文档之家› 虚拟显示及数据可视化__Unity课程设计报告

虚拟显示及数据可视化__Unity课程设计报告

虚拟显示及数据可视化__Unity课程设计报告
虚拟显示及数据可视化__Unity课程设计报告

东南大学仪器科学与工程学院

虚拟现实与数据可视化

Unity课程设计

设计名称:Project1愤怒的小鸟之营救伙伴

Project2坦克大战

院系名称:仪器科学与工程学院测控技术与仪器

小组成员:

指导老师:孙立博报告时间:2013年12月19日

目录

1、前言 (3)

1.1 作品名称 (3)

1.2 作品成员 (3)

1.3 指导老师 (3)

1.4 作品简介 (3)

2、系统方案 (4)

2.1使用说明 (4)

2.2设计方案 (4)

2.2.1障碍物设置 (4)

2.2.2愤怒的小鸟制作 (6)

2.2.3游戏级别的切换 (8)

2.2.4坦克大战游戏粒子效果的实现 (9)

3、课程设计总结 (10)

4、参考文献 (11)

5、附录部分 (11)

5.1小组成员分工 (11)

5.2 作品效果图 (11)

1、前言

1.1 作品名称

愤怒的小鸟之营救伙伴

1.2作品成员

1.3指导老师

孙立博仪器科学与工程学院

1.4作品简介

本款“愤怒的小鸟之营救伙伴”旨在给大学的忙碌增添一丝闲暇与趣味,给大脑的疲劳一丝放松与悠闲,抛开一切烦恼,尽情的享受课余生活。

本游戏通过Unity3D设计,游戏的控制机理和赛车控制游戏相同。对网上现有的游戏愤

怒的小鸟进行了一些修改,对按键的效果进行了改进并对游戏的难度进行了一定的修改。整

个项目共有初始UI界面(welcom和next),1~5游戏关数共7个场景。愤怒的小鸟通过穿越

障碍,来到小伙伴被困住的地方,从而完成营救的目的。在愤怒的小鸟穿越障碍的时候,如果碰到障碍(如墙壁等),意味着营救失败。本游戏界面良好逼真,控制简单,游戏难度设置合理,背景音乐悦耳,再加上愤怒的小鸟原有的人气,使得本款游戏具有较大的吸引力。您可以在本

游戏中进行的享受愤怒的小鸟的世界!

2、系统方案

2.1使用说明

(1)开发环境:Unity3D (2)操作方法(按键控制)

2.2设计方案

2.2.1障碍物设置

愤怒的小鸟通过穿越障碍,来到小伙伴被困住的地方,从而完成营救的目的。在愤怒的小鸟穿越障碍的时候,如果碰到障碍(如墙壁等),意味着营救失败。为了实现该功能,我们在障碍物(此处以墙壁为例)的周围放置了4个cube ,通过对cube 属性的设置来实现该功能。具体过程如下:

墙壁周围放置的4个cube

●然后对cube属性设置,取消MeshRenderer。这个时候就看不到了cube的外形,

但cube依然存在

●最后对cube添加碰撞体属性,愤怒的小鸟也添加了碰撞体属性。当检测到二者碰

撞时,通过脚本文件就可以实现结束游戏的功能。

2.2.2愤怒的小鸟的制作

(1)在游戏过程中需要愤怒的小鸟的翅膀一直摆动。基于此要求,我们设置序列帧来实现该功能。在工程中插入序列帧animation,详见工程中“SpriteCollection”中的“bird”部分。通过设置3章不同的图片来循环播放,实现小鸟的翅膀摆动。本项目中帧率设置为33.33帧。游戏运行效果逼真形象。

(2)对小鸟进行属性设置。添加碰撞体属性(球体碰撞体SphereCollider)并取消其重力属性。由于碰撞体具有碰撞性质,故当检测到小鸟碰撞到墙壁,小猪等障碍物时,可以通过判断碰撞体发生碰撞来实现结束游戏的功能。(墙壁四周放置了cube,对cube添加碰撞体属性)。

(3)控制小鸟运动的实现

为了实现对小鸟运动的控制,我们对其添加脚本文件(C#Script)。具体代码如下(bird_1):

usingUnityEngine;

usingSystem.Collections;

publicclassbrid_1:MonoBehaviour

{

Vector3Brid_Point=new Vector3(0.0f,0.0f,0.0f);

voidStart ()

{

Brid_Point=this.transform.position;

}

voidUpdate () //按键控制

{

if(Input.GetKey("up")) //按键控制上

{

this.transform.position+=newVector3(0.0f,0.5f*Time.deltaTime,0.0f);

}

if(Input.GetKey("down")) //按键控制下

{

this.transform.position-=newVector3(0.0f,0.5f*Time.deltaTime,0.0f);

}

if(Input.GetKey("right")) //按键控制右

{

this.transform.position+=newVector3(0.5f*Time.deltaTime,0.0f,0.0f);

}

if(Input.GetKey("left")) //按键控制左

{

this.transform.position-=newVector3(0.5f*Time.deltaTime,0.0f,0.0f);

}

}

(4)碰撞检测

当小鸟飞到伙伴附近时可以进行营救。为实现该功能,我们在bird_1.cs脚本中添加碰撞检测函数。具体代码如下:

voidOnCollisionEnter(Collisioncollision) //碰撞检测营救伙伴

{

if(https://www.doczj.com/doc/6a14104479.html,=="bird_help") //碰撞到被营救的小伙伴时

{ //进入下一关

Debug.Log("InNextlevel");

}

else

{

}

}

this.transform.position=Brid_Point;

voidOnTriggerEnter(Colliderother)

{

if(https://www.doczj.com/doc/6a14104479.html,=="bird_help")

{

} else {Application.LoadLevel("Next");print("zzzzzzzzzzzzzzzzzzzzzzzzzz");

this.transform.position=Brid_Point;print("sssssssssssssssssssssssss ssssss");

}

}

}

2.2.3游戏级别的切换

(1)游戏级别自动切换的要求

●当愤怒的小鸟在营救小伙伴过程中碰撞到障碍物时,进行初始化,仍进行本级别的

游戏。

●当愤怒的小鸟到达小伙伴被困的地方并进行营救(通过碰撞检测实现)后,游戏可

以自动切换到下一关(设置了next场景进行提示)。

(2)实现方法

基于上述要求,我们设置了对应脚本文件来实现上述功能。通过对碰撞到的物体的检测来实现上述功能。当碰撞到bird_help(被营救的小伙伴)时,进入下一关(设置了next场景进行提示)。

voidOnCollisionEnter(Collisioncollision)

{

if(https://www.doczj.com/doc/6a14104479.html,=="bird_help")

{

}

else

{

}

} Debug.Log("InNextlevel");

this.transform.position=Brid_Point;

(3)next场景中对游戏不同级别的设置

在next场景中当检测到“下一关”按钮按下时执行下一关。本方案中设置了一张next 场景来实现不同级别之间的切换,因此主要用到了case语句。具体代码如下:(※注:该脚本文件较长,受限于篇幅,此处仅给出部分关键代码)

switch (Next_Level)

{

caseLEVEL.LEVEL_2:

{

Application.LoadLevel("Level_2");break;

}

caseLEVEL.LEVEL_3:

{

Application.LoadLevel("Level_3");

break;

}

caseLEVEL.LEVEL_4:

{

Application.LoadLevel("Level_4");break;

}

caseLEVEL.LEVEL_5:

{

Application.LoadLevel("Level_5");break;

}

2.2.4坦克大战游戏粒子效果的实现

考虑到上述的愤怒的小鸟游戏中没有用到Unity常用到粒子效果,因此我们又做了一个坦克大战游戏。此工程包括三个场景,包含一个菜单场景和其它两个场景。其中,在坦克“Tank01”上加了粒子效果,坦克可以发射出30枚炮弹,来击打墙壁这个障碍物。利用‘W 、A、S、D’键控制坦克运动,‘Space’键用来发射炮弹。具体如下:

//发射炮弹的代码如下(Script--Fire):

varFirePoint:Transform;v

arBullet:Rigidbody;varBul

letCnt:

int=30;varBulletSpeed=1

00;

varmyStyle:GUIStyle;private

varCurrBullet: int;

functionStart(){

CurrBullet=BulletCnt;

}

functionUpdate(){

if(FirePoint==null||Bullet==null){

return;

}

if(Input.GetKeyDown(KeyCode.Space)){if(CurrBullet>0)

{

varclone:Rigidbody;

clone=Instantiate(Bullet,FirePoint.transform.position,FirePoint.transform.rotation);clone.velocity =transform.TransformDirection(Vector3.forward*BulletSpeed);

CurrBullet-=1;

}

}

}

functionOnGUI()

{

https://www.doczj.com/doc/6a14104479.html,bel(Rect(30,30,60,30),"Bullet:"+CurrBullet,myStyle);

}

3、课程设计总结

经过四周的努力,我们小组在五个人的共同努力下,取得了预期的成果。我们虽然按期

完成了最初制定的目标,但是研究仍然存在很多不足之处,对Unity3d实现愤怒的小鸟的某

些功能的细节研究的还研究不够。

这是我们为数不多参与的一个完整的实践过程,与以往一个个独立的简单实践不同,一

个完整实践,从最初的方案选取,资料的收集,到方案的深入,可行性分析等等,都需要我

们考虑周全,按部就班地进行。

最初确定设计的方向,我们认为说难度不大,但往往大方向的确定是容易的,而具体实施起来才会认识到层层困难。制定计划和任务分配上遇到了很大的困难,由于对具体流程不熟悉,大家必须查看大量文献资料,了解相关脚本的实现方法。先做哪一步,后做哪一步,从而制

定一项完整的计划,往往有许多考虑不周到的地方,例如在安排每天做的方案分析时过多的考虑其概念性,而忽略了其真正的原理,时间安排不合理等等,等之后有了经验才慢慢改进。

4、参考文献

[1]MichelleMenard《Unity游戏开发实战》机械工业出版社2012年4 月

[2]https://www.doczj.com/doc/6a14104479.html,/link?url=NeLL_E6Y0Y3wZnKiqd0vhen9tAWVJ937ILAgoy1FWgNf80grSaM_F drBh32eqkEcWY《UNITY3D入门教程》

[3]https://www.doczj.com/doc/6a14104479.html,/view/a0e2b0b9c77da26925c5b029.html《UNITY3D的Javascript

入门教程》

5、附录部分

5.1小组成员分工

5.2作品效果图

(1)初始界面——welcome

(2)next

(3)Level_1

(4)Level_2

(5)Level_3

(6)Level_4

(7)Level_5

(8)坦克大战

(9)坦克大战预置体和粒子效果

河北工业大学UML实验报告

《面向对象与UML》 实验报告

实验一UML建模基础 一、实验目的 1.熟悉UML建模工具Rational rose的可视化环境。 2.掌握利用Rational rose进行建模的步骤。 二、实验内容 1.熟悉Rational rose建模环境 2.建模基本步骤 3.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rational rose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。 三、实验结果 建模基本步骤中得到的用例图 实验2 用例图 一、实验目的 1. 熟悉UML用例图的基本图形元素。 2. 掌握用例与用例之间的各种关系。 3. 熟悉针对具体场景使用例图进行软件建模的方法。 4. 掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。

二、实验内容 1. 根据实验一建模实例,熟悉利用Raional rose软件绘制用例图的基本方法。 2 通过对“学生信息管理系统”的需求描述,确定系统用例图: “学生信息管理系统”的需求描述如下: 在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。 学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。 在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。学生可以通过本系统进行成绩的查询。 学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。只有将已选择的课程删除掉才能再选择新课程。系统管理员负责修改、增加、删除选修课程。 系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。 a) 请根据上述描述,确定系统的参与者 b) 确定系统的用例并绘制完整的用例图。 3. 根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的 用例规格说明。 4. 考虑一个网络订餐系统的需求,并绘制出完整的用例图。 实验步骤: 1参与者:管理员学生校领导教师 2用例:登陆系统,录入学生基本信息,查询学生基本信息,修改学生基本信息,删除学生基本信息,(学生信息包括:学籍,年龄,家庭住址,性别,身高,学生证号,身份证号,查询班级基本信息(任课教师,辅导员,学生姓名,学生人数,专业班级),添加班级,修改班级基本信息,删除班级,录入成绩,查询成绩,修改成绩,查询课程信息,(课程基本信息包括:课程号,所属专业,课程名称,开课学期,学时数,学分,任课教师)选择课程,删除已选课程,修改课程,增加课程,删除选修课程,添加帐号,设置帐号(设置帐号的权限和对应

数据挖掘实验报告

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

1.实验目的 基于https://www.doczj.com/doc/6a14104479.html,/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori- ginal%29的数据,使用数据挖掘中的分类算法,运用Weka平台的基本功能对数据集进行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行对比实验,并画出性能比较图训练并测试。 2.实验环境 实验采用Weka平台,数据使用来自https://www.doczj.com/doc/6a14104479.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),丛厚度;

数据选择器实验报告.docx

谢谢欣赏实验三数据选择器 实验人员:班号:学号: 一、实验目的 (1) 熟悉并掌握数据选择器的功能。 (2) 用双4选1数据选择器74LS153设计出一个16选1的数据选择器。 (3) 用双4选1数据选择器74LS153 设计出一个全加法器。 二、实验设备 数字电路实验箱,74LS00,74LS153。 三、实验内容 (1) 测试双4选1数据选择器74LS153的逻辑功能。 74LS153含有两个4选1数据选择器,其中A0和A1为芯片的公共地址输入端,Vcc 和GND分别为芯片的公共电源端和接地端。Figure1为其管脚图: Figure 1 1Q=A1A01D0+A1A0?1D1+A1A0?1D2+A1A0?1D3 2Q=A1A02D0+A1A0?2D1+A1A0?2D2+A1A0?2D3 按下图连接电路: Figure 2 (2) 设某一导弹发射控制机构有两名司令员A、B和两名操作员C、D,只有当两名司令员均同意发射导弹攻击目标且有操作员操作,则发射导弹F。利用所给的实验仪器设计出一个符合上述要求的16选1数据选择器,并用数字电路实验箱上的小灯和开关组合表达实验结果。 思路: 由于本实验需要有四个地址输入端来选中16个数据输入端的地址之中的一个,进而实现选择该数据输入端中的数据的功能,即16选1。而公共的A0、A1两个地址输入端和S使能端(用于片选,已达到分片工作的目的,进而扩展了一位输入)一共可以提供三个地址输入端,故需要采用降维的方法,将一个地址输入隐藏到一个数据输入端Dx 中。本实验可以降一维,也可以降两位。由于两位比较复杂,本实验选择使用降一维的方式。 做法: 画出如应用题中实现所需功能的卡诺图: 谢谢欣赏

数据挖掘实验报告(一)

数据挖掘实验报告(一) 数据预处理 姓名:李圣杰 班级:计算机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)){

Unity课程设计说明书

Unity课程设计说明书 1、游戏设计构思 1.1 unity软件介绍 Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或Torque Game Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac 和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。 1.2游戏构思过程 在此次设计中,预备做一个小岛漫游的设计。小岛四周都是水,小岛中有一条河流,小岛上有花草、树、雾等。能实现角色漫游。 2、场景设计 2.1地形设计 1、地形创建 在unity中将鼠标放到GameObject 3D object 单击 Terrain,创建一个新的地形,我们可以在右边的菜单中对地形的大小、高度、分辨率等进行设置。如下图所示:

图1 2、地形设置 在右边的菜单中对地形的高度等进行设计,使地形呈现出小岛的形状。 3、在小岛形状的地形上铺地皮,种花草、种树。实现的效果图如下图所示: 图2

2.2光照效果制作 地形制作后,会发现整体效果比较暗,这是我们就要为场景打一个灯光。在unity中将鼠标放到GameObject Light点击Directional Light,创建一个光源,然后再右边的设置菜单中对光源的颜色、强度方向等进行设置。效果图如下图所示: 图3 2.3河流制作 鼠标右击unity左下角的Assets文件夹,选择Import Package 的Water(Basic),全选后按import按钮,同样的方法import Water(Pro Only)包,然后将Daylight图标拖入场景中,在右边设置水的大小、颜色等。效果图如下图所示:

八选一数据选择器和四位数据比较器verilog实验报告)

Verilog HDV 数字设计与综合 实验报告 微电子0901班 姓名:袁东明 _ 学号:_04094026 一、实验课题: 1.八选一数据选择器 2.四位数据比较器 二、八选一数据选择器Verilog程序: 2.1主程序 module option(a,b,c,d,e,f,g,h,s0,s1,s2,out); input [2:0] a,b,c,d,e,f,g,h; input s0,s1,s2; output [2:0] out; reg [2:0] out; always@(a or b or c or d or e or f or g or h or s0 or s1 or s2) begin case({s0,s1,s2}) 3'd0 : out=a;

3'd1 : out=b; 3'd2 : out=c; 3'd3 : out=d; 3'd4 : out=e; 3'd5 : out=f; 3'd6 : out=g; 3'd7 : out=h; endcase end endmodule 2.2激励程序 module sti; reg [2:0] A,B,C,D,E,F,G,H; reg S0,S1,S2; wire [2:0] OUT; option dtg(A,B,C,D,E,F,G,H,S0,S1,S2,OUT); initial begin A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=1;

数据挖掘实验报告资料

大数据理论与技术读书报告 -----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 种距离度量不涉及向量的特征之间的关系,这使得距离的计算不精确,从而影响分类的效果。

课程设计心得体会

心得体会 今天是6月10号,我即期待又渴望的CityEngine,为期4天的课程设计结束了。在这次的课程设计中不仅检验了我平时所学习的知识,也培养了我如何独立去思考一件事情,如何去做一件事情,又如何去完成一件事情。在这次课程设计过程中,由小组长领头,带领小伙伴们完成嘉州新城一带的三维城市景观建模,同学们分工合作,有的去实地拍照,用PS处理图片,有的用SketchUp建模,有的用3dMax 建模,有的用CityEngine写代码建模,有的用Unity3D实现漫游,总之就是各斯其所,同时也相互探讨,相互学习,相互监督。 在这次课程设计中我学会了合作,学会了体谅和包容,学会了理解,也学会了一些做人与处事之道。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的锻炼过程。通过这次课程设计,我深深体会到“实践是检验真理的唯一途径”这句话的含义,平时都是学习理论知识,属于纸上谈兵之类,现在终于是实把实的运用理论知识,在实践中操作,亲身体验,把理论与实践结合起来,我们能够学到和掌握更多的知识。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为了今后能稳健地在社会大潮中奔跑打下坚实的基础。通过这次课程设计,综合运用本专业所学课程的理论和实际知识进行一次全方面的城市建模设计,从而在实际生活中培养和提高自己的独立工作能力。同时在这次课程设计过程中,体现出自己也有编写程序代码的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,当然也从中发

现了自己平时学习的不足和薄弱环节,从而加以弥补。 在此非常感谢我们的张老师,老师严谨细致的作风一直是我学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;老师的博学多识也是我一直追求的目标。这次课程设计的每个实验细节和每个建模数据,都离不开老师您的细心指导。每当我遇到自己不能解决的问题,总是请求老师的帮助,而您宽容的态度和大方的讲解,帮助我顺利的完成了这次的课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持。

:数据选择器设计(实验报告)

实验报告 一、实验目的 熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。 二、实验设备 GW48系列SOPC/EDA实验开发系统实验箱一台计算机一台 三、实验内容 1首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出下图所示的仿真波形。最后在实验系统上进行硬件测试,验证本项设计的功能。 源程序为: ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = '0' THEN y <= a ; ELSE y <= b ; END IF; END PROCESS; END ARCHITECTURE one ;

图(1 ) 2选1多路选择器的编译图 、图(2) 功能仿真的波形图 图(3 ) 功能引脚图

图(4) 2选1多路选择器的RTL电路 2. 将此多路选择器看成是一个元件mux21a,利用元件例化语句描述图,并将此文件放在同一目录中。并对上例分别进行编译、综合、仿真,并对其仿真波形做出分析说明。以下是程序: 图(5) 双二选一多路选择器的编译图

图(6) 双路数据选择器功能仿真图 图(7) 双二选一多路选择器的引脚锁定图图 5 双2选1多路选择器 图(8) 双路数据选择器RTL电路图

图(9) 编程下载图 3.、引脚锁定以及硬件下载测试。若选择目标器件是EP1C3,建议选实验电路模式5,用键1(PIO0,引脚号为1)控制s0;用键2(PIO1,引脚号为2)控制s1;a3、a2 和a1 分别接clock5(引脚号为16)、clock0(引脚号为93)和clock2(引脚号为17);输出信号outy仍接扬声器spker(引脚号为129)。通过短路帽选择clock0接256Hz信号,clock5 接1024Hz,clock2 接8Hz 信号。最后进行编译、下载和硬件测试实验(通过选择键1、键2,控制s0、s1,可使扬声器输出不同音调)。 图(10) 实验电路模式5

图像处理 实验报告

摘要: 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 设计要求 可视化界面,采用多幅不同形式图像验证系统的正确性; 合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化; 1.课题目的与要求 目的: 基本功能:彩色图像转灰度图像 图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘 图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求: 1、熟悉图像点运算、代数运算、几何运算的基本定

义和常见方法; 2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法 3、掌握在MATLAB中进行插值的方法 4、运用MATLAB语言进行图像的插值缩放和插值旋转等 5、学会运用图像的灰度拉伸方法 6、学会运用图像的直方图设计和绘制;以及均衡化和规定化 7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际2.课题设计内容描述 1>彩色图像转化灰度图像: 大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。 真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。 在一些特殊环境下需要将真彩色转换成灰度图像。 1单独处理每一个颜色分量。 2.处理图像的“灰度“,有时候又称为“高度”。边缘加强,平滑,去噪,加 锐度等。 3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。 2>图像的几何空间变化: 图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。 图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。 旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。

数据挖掘报告

哈尔滨工业大学 数据挖掘理论与算法实验报告(2016年度秋季学期) 课程编码S1300019C 授课教师邹兆年 学生姓名汪瑞 学号 16S003011 学院计算机学院

一、实验内容 决策树算法是一种有监督学习的分类算法;kmeans是一种无监督的聚类算法。 本次实验实现了以上两种算法。在决策树算法中采用了不同的样本划分方式、不同的分支属性的选择标准。在kmeans算法中,比较了不同初始质心产生的差异。 本实验主要使用python语言实现,使用了sklearn包作为实验工具。 二、实验设计 1.决策树算法 1.1读取数据集 本次实验主要使用的数据集是汽车价值数据。有6个属性,命名和属性值分别如下: buying: vhigh, high, med, low. maint: vhigh, high, med, low. doors: 2, 3, 4, 5more. persons: 2, 4, more. lug_boot: small, med, big. safety: low, med, high. 分类属性是汽车价值,共4类,如下: class values:unacc, acc, good, vgood 该数据集不存在空缺值。

由于sklearn.tree只能使用数值数据,因此需要对数据进行预处理,将所有标签类属性值转换为整形。 1.2数据集划分 数据集预处理完毕后,对该数据进行数据集划分。数据集划分方法有hold-out法、k-fold交叉验证法以及有放回抽样法(boottrap)。 Hold—out法在pthon中的实现是使用如下语句: 其中,cv是sklearn中cross_validation包,train_test_split 方法的参数分别是数据集、数据集大小、测试集所占比、随机生成方法的可

unity3d游戏课程设计报告

游戏程序设计课程报告 课程: Unity3D课程设计题目:探索迷宫 班级: 学号: 姓名:

日期:2014.12 一、摘要 1 UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D软件 的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。

二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交2 互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分

基于ArcGIS 10.0的DEM分析与可视化 实验报告

一、实验目的 1、掌握利用ArcGIS三维分析模块进行创建表面的基本方法.。 2、掌握利用ArcGIS三维分析进行各种表面分析的基本方法,并能进行表面创建及景观图 制作。 3、掌握地形特征信息的提取方法,能利用ArcGIS软件基于DEM对山脊线和山谷线的提取。 4、掌握三维场景中表面及矢量要素的立体显示其原理与方法,熟练掌握ArcGIS软件表面 及矢量要素杂场景中的三维显示及其叠加显示。 5、熟练掌握ArcScene三维场景中要素、表面的多种可视化方法。 6、通过制作某区域的飞行动画,实现对该区域的宏观浏览,掌握地形的三维显示与飞行动 化的制作方法。 二、主要实验器材(软硬件、实验数据等) 计算机硬件:Lenovo Y460N 计算机软件:ArcGIS10.0软件 实验数据:《ArcGIS地理信息系统空间分析实验教程》随书光盘 三、实验内容与要求 1、表面分析 要求: (1)熟悉ArcGIS三维分析工具中的表面分析工具。 (2)进一步分析表面,包括计算表面积、体积、坡度、坡向等,设置阴影地貌等以增强可视化,或者从一个特定的位置或路径设置可视化的更高级别的可视性分析等。 操作: (1)计算表面积与体积: 1)打开“面积与体积统计数据”工具,在对话框中如下图设置,点击“计算统计 数据”,得到面积和体积统计数据。 图1 计算表面积与体积 (2)坡度的计算: 1)选择表面分析的坡度工具: “Spatial Analyst 工具”→“表面分析”→“坡度”。

2)在打开的对话框中如图2设置,生成坡度栅格图像如图3。 图2:“坡度”对话框 图3 坡度栅格图像 (3)坡向的计算: 1)选择表面分析的坡向工具: “Spatial Analyst 工具”→“表面分析”→“坡向”。 2)在打开的对话框中设置,生成坡向图像如图4。 图4 坡向图像 (4)可视性分析: 1)视线瞄准线的创建:选择 “创建透视线”工具。 2)在打开的对话框中设置,并选择透视线的点;如图5所示。

Unity课程设计报告书

移动终端游戏开发课程设计说明书 题目: Flappy Bird游戏设计 院系: 专业班级: 学号: 学生: 指导教师: 2016年 6 月 30 日

理工大学课程设计(论文)任务书 学院 2016年 4月 1 日

理工大学课程设计(论文)成绩评定表

目录 1 需求分析 (1) 2 概要设计 (1) 2.1 设计思路 (1) 2.2 存储结构设计 (2) 2.3 功能模块设计 (3) 3 详细设计 (3) 3.1 游戏工程视图 (3) 3.2 游戏界面布局 (5) 3.3 功能模块设计实现 (6) 3.3.1游戏开始设计 (6) 3.3.2小鸟移动模块设计 (7) 3.3.3管道碰撞模块设计 (8) 3.3.4场景延续模块设计 (8) 3.3.5分数统计模块设计 (8) 3.3.6游戏结束模块设计 (9) 3.4 其他设计实现 (10) 3.4.1 摄像机的跟随 (10) 3.4.2 游戏音效的添加 (11) 3.4.3 游戏开始界面的设计 (11) 4 运行与测试 (12) 5 总结 (15) 参考文献 (15)

1 需求分析 1.技术需求: 此游戏是在Unity5.3.3上开发出来的,Unity5.3.3可以支持2D、3D场景的编辑,本游戏是基于3D场景开发的。游戏中的脚本语言使用的是C#,Unity5.3.3中的Monodevelop为脚本编辑提供了平台。 2.功能需求: Flappy Bird是一款益智类的小游戏,其玩法为:游戏开始后,玩家需间歇性的点击鼠标,让小鸟向上飞,不会掉下来,并且要穿过随机出现的管道的间隙,不能碰到管道,碰到就游戏结束,穿过一个管道就可以得到一分。其制作包括对以下六大功能的需求: (1)当开始游戏后,玩家需要单击指定位置才能开始游戏,否则无法开始;(2)需要通过点击屏幕来控制小鸟的位置,完成使小鸟上下移动的功能;(3)需要对小鸟是否碰到地面或者管道进行判断,从而决定游戏是否结束;(4)需要设置触发器以实现场景的延续,当小鸟碰到触发器,场景中的第一幅背景便挪到最后一幅的后面,从而实现视觉上场景不断出现的效果; (5)需要对玩家进行记分,并对最高分进行判断和存储; (6)在失败后,需要使玩家通过点击按钮重新开始游戏。 2 概要设计 2.1 设计思路 Flappy Bird 是一款形式简易但难度极高的休闲游戏,我们打算使用unity开发工具来制作这款游戏。经过分析,我们首先要完成的是对素材的收集,我们可以从网上搜索下载,也可以自己使用PS等工具来画。其次,我们需要对整个游戏进行模块划分,理清整个游戏是由哪几个模块组成的,经过讨论分析,我们得出这个游戏共需要六大模块。分析完之后,便进入了正式的游戏制作环节,我们需要对各个模块进行详细设计,其中包括页面布局、碰撞检测、小鸟飞行动画等。完成各个模块的详细设计后,我们便可以在unity中对它们进行组装和拼接,并运行测试,修改错误和不适当的地方。自此,整个游戏就设计完成了。

数据选择器_Mutisim仿真实验报告

电气工程学院电工电子教学基地 数字电子技术实验 实验报告 仿真实验1 用数据选择器设计函数发生器 学号:18291035 姓名:陈涟漪 班级:电气1802 成绩: 指导教师:周晖 完成时间:2020年5 月15 日

数字电子技术实验 仿真实验1 用数据选择器设计函数发生器 1 实验任务 使用数据选择器74LS151和适当门电路设计一函数发生器,能够实现4位二进制码数据范围指示功能。要求该函数发生器能区别以下三种情况: (1)0≤X≤4; (2)5≤X≤9; (3)10≤X≤15。 2 实验电路

3 实验步骤 采用A、B、C、D取0或1依次表示这四位二进制码的从高到低位的取值(例如:A=0,B=1,C=0,D=0表示四位二进制码0100)。则对于第一组来说,共有5个四位二进制码包含在其中,用卡诺图表示如下: 化简即得: 同理,也有5个数包含在第二组中,卡诺图如下: 化简即得: 第三组包含了6个数,卡诺图如下:

化简即得: 对以上三个式子都去两次非并利用摩根定律可得: 这样就完成了该问题的逻辑转化。 根据前面对该实验分析所得到的逻辑表达式可以发现,输入变量为A、B、C、D,但是在后面的逻辑运算中它们的“非”都用到了,也就是第一步我们要得到这四个变量的非。然后再进行后面的与非运算。三个输出变量的状态也可以用三个灯泡来表示,这里采用了三个颜色不同的灯泡用以区分。到这里,逻辑图就可以很容易的用Multisim软件模拟出来。 其中,最上面的X1灯泡亮时,表示输入数字在0≤X≤4范围内,X2亮时表示输入数字在5≤X≤9范围内,X3亮时表示输入数字在10≤X≤15范围内。这里还是用了四个开关,每个开关“开”表示1,“关”表示0,四个开关以ABCD的顺序来表示四位二进制数。四位二进制数同上,也有16中情况,这里不做一一展示,只对每一类给出一种模拟结果。

可视化实验报告

cout<<"It is in fun 2."<

cout<<"It is back in fun 2."<

1.2.2所谓函数重载是指同一个函数名可以对应多个函数的实现,函数重载允许一个程序内声 明多个名称相同的函数,这些函数可以完成不同的功能,并可以带有不同的类型,不同数目的 参数及返回值。 123函数重载时,要求函数的参数个数或参数类型不同。 124操作符重载是将C++语言中已有的操作符赋予新的功能,但与操作符本来含义不冲 突,使用时只需要根据操作符出现的位置判断其具体执行哪一种功能使用操作符重载时, 必须用以下方式来声明函数: 函数类型operator # (形参表) 2.程序注释与运行结果: #include 〃调用C++中的头文件 void fun 1(),fun2(),fun3();〃定义了 3 个函数 void ma in()〃主函数 { cout?"lt is in mai n. "<〃调用C++中的头文件int add(i nt,i nt);〃定义一个函数 double add(double,double);〃定义一个函数void ma in()〃主函数 { cout<

数据挖掘实验报告1

实验一 ID3算法实现 一、实验目的 通过编程实现决策树算法,信息增益的计算、数据子集划分、决策树的构建过程。加深对相关算法的理解过程。 实验类型:验证 计划课间:4学时 二、实验内容 1、分析决策树算法的实现流程; 2、分析信息增益的计算、数据子集划分、决策树的构建过程; 3、根据算法描述编程实现算法,调试运行; 4、对所给数据集进行验算,得到分析结果。 三、实验方法 算法描述: 以代表训练样本的单个结点开始建树; 若样本都在同一个类,则该结点成为树叶,并用该类标记; 否则,算法使用信息增益作为启发信息,选择能够最好地将样本分类的属性; 对测试属性的每个已知值,创建一个分支,并据此划分样本; 算法使用同样的过程,递归形成每个划分上的样本决策树 递归划分步骤,当下列条件之一成立时停止: 给定结点的所有样本属于同一类; 没有剩余属性可以进一步划分样本,在此情况下,采用多数表决进行 四、实验步骤 1、算法实现过程中需要使用的数据结构描述: Struct {int Attrib_Col; // 当前节点对应属性 int Value; // 对应边值 Tree_Node* Left_Node; // 子树 Tree_Node* Right_Node // 同层其他节点 Boolean IsLeaf; // 是否叶子节点 int ClassNo; // 对应分类标号 }Tree_Node; 2、整体算法流程

主程序: InputData(); T=Build_ID3(Data,Record_No, Num_Attrib); OutputRule(T); 释放内存; 3、相关子函数: 3.1、 InputData() { 输入属性集大小Num_Attrib; 输入样本数Num_Record; 分配内存Data[Num_Record][Num_Attrib]; 输入样本数据Data[Num_Record][Num_Attrib]; 获取类别数C(从最后一列中得到); } 3.2、Build_ID3(Data,Record_No, Num_Attrib) { Int Class_Distribute[C]; If (Record_No==0) { return Null } N=new tree_node(); 计算Data中各类的分布情况存入Class_Distribute Temp_Num_Attrib=0; For (i=0;i=0) Temp_Num_Attrib++; If Temp_Num_Attrib==0 { N->ClassNo=最多的类; N->IsLeaf=TRUE; N->Left_Node=NULL;N->Right_Node=NULL; Return N; } If Class_Distribute中仅一类的分布大于0 { N->ClassNo=该类; N->IsLeaf=TRUE; N->Left_Node=NULL;N->Right_Node=NULL; Return N; } InforGain=0;CurrentCol=-1; For i=0;i

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