baozii 发表于 2005-1-7 00:44

[分享]怎么学自动化

自动化系本科课程解析ZZ
杨舟 焦锴 万定锐 彭滔

      大学意味着什么?成长,做人,理想,爱情…… 这些都是隐藏在生活之后的。对大多数人来说,最实际的是:四年,八学期,100门课,200学分。
上面装了一下酷。都是高考过来的,这没什么好说的。不过100多门课一齐放在你面前,确实还是能让人晕乎晕乎的。我们把一些东西展示出来,希望来日大家制定规划,选课上课的时候,能更加的从容一点。
在这里把所有的必修选修课分为五类,公共基础课(数学),计算机类,专业基础,专业课,还有全校性的任选课。下面逐一介绍:

公共基础课(数学)
在现代社会,科学技术和人才的流动都是日新月异,经常以个人难以预计的趋向发展和变化。很多时候,我们受个人兴趣的转移或者社会需求的转变,不得不主动或被动地变幻自己的导向(即所谓major)。我看到很多的案例,本科的时候学一个专业,研究生阶段转了方向,到国外读完Ph. D以后,从事的工作又是完全另外一个方向了。比如本科的时候是学物理的,到了国外以后就研究Computer Networking了,最后工作的时候也许摇身一变,到finance行业干了。即使始终是在技术科学的领域内做研究,也是需要紧跟前沿的变化,不断变幻自己的方向的。比如我们大家尊敬的李衍达院长,就是我们学习的榜样。

本科学习还是处于一个通才教育的培养阶段,在这样的阶段,多努力一些,在自己学识和能力上打下一个坚实的基础,为未来建立一个相对高的起点,还是很重要的。除去在社会阅历、人际交往能力、社会活动能力、文艺修养等等方面的提高与培养不说,我觉得就学业方面,对我们今后的发展最有用的,且最能经得起时间考验的,英语、计算机和数学是属于基础的三大支柱。

咱们这样的学科专业数学学习与运用的主线。对于"本门武功"最重要的控制理论,本科阶段主要接触的还是最经典的线性的动力学系统(包括所谓'现代控制理论'-状态空间法也是),从数学的角度看,无非是线性的微分方程或者微分方程组,所谓Dynamic Systems。对于这样的控制问题,最重要的数学工具和描述语言就是微积分和线性代数。而且这两门课是几乎任何近代科学技术的基础工具,其重要性再怎么强调也是不为过的(就是说,如果你在低年级的时候把这两门武功练得纯属了,到了以后学起很多课程都会觉得巨爽)。还有一门重要的武功,对于我们练"自控派"的控制原理以及"信号与系统"这样的后续武学很有裨益的,就是"复变函数"了,不过我更喜欢把这门武功称为"复变函数与积分变换",因为对于我们最有用的工具,就是Laplacian Transform,Fourier Transform和Z Transform三大变换了。想着当年一代武学宗师Fourier在华山顶上苦思冥想,终于悟出了Fourier Transform这门惊世骇俗的绝世武功,后来又经过Cooly和Tukey的发扬光大,创出快速傅立叶变换(FFT),已成为现代信号处理界的镇帮之宝了^_^

相比之下,"数理方程"或称"数学物理方法"(研究多元的偏微分方程的解析解法的)这门课的重要性就远远不如复变函数了。现在在实际的工程技术问题里都运用,或者只能用数值计算的方法求数值解了,谁还死抱着古典的解析方法去求解析解呢。除非你要研究一些空间里电磁场传播的理论,或者对分布参数的电路进行计算,则另当别论。

这里又说到了数值计算与数值分析的技术。我略微看了一下03级以后的课表,好像对于Numerical Analysis这门课,是从开出的四个不同要求的课中选择一门吧。在实际的工程问题中遇到的问题都会很复杂,运用数值的方法进行分析与计算是大势所趋。另外,西域的米国有一个叫Mathworks的小帮派,打造出一把叫Matlab的兵器,真是神力无比,削铁如泥,大家不妨都用一下啦。顺便介绍一下,这竿神兵最早是由米国Stanford寺院一位叫J. Little的老僧用C语言锻造出来的,着是一段佳话。江湖人称米国"西斯坦,东麻工",此言不虚。

还有一个重要的方面,就是对随机性事件的研究。在学科上主要是由三个部分组成的:概率论(the Theory of Probabilities),随机过程(Stochastic Process)和数理统计学(Statistics)。概率论是告诉我们如何描述与研究随机变量的,当然是后两部分的前提与基础。随机过程就开始研究多个随机变量之间关系,特别是随时间变化的随机变量(称为随机过程)的性质。数理统计主要是研究如何去估计概率模型参数,以及对模型假设进行检验的学科。应该说,从现在的发展看,对随机性数学工具的研究与掌握是越来越重要了。对于咱们系的很多研究方向,随机数学的知识是非常有利的。比如信号处理、模式识别、随机控制、系统辨识、很多算法问题的研究(比如像遗传算法G.A、模拟煺火算法S.A这样的优化算法的分析都需要运用随机过程的知识),还有就是我现在搞的Bioinformatics中要用到很多的统计学的知识。现在就知道了这三大随机数学工具的重要性了,所以对ddmm们说,当你们第一次接触什么是random variable,什么是r.v的distribution的时候就要学好。
插两句,去年何毓琦教授给系里的研究生本科生作报告的时候,被问到:哪门课的知识是最重要的。教授毫不犹豫地说:随机过程。怎么样,够分量吧。以前本科不开随机过程,但系统辨识,信号处理,随机控制等很多课都要用到,于是每门课都讲一点,零散而不扎实。现在的DDMM们幸福了。

最后谈一下咱们系的本科培养中比较有特色的一个分支,就是那门"运筹学"。个人认为在咱们系能学到这门课真是很受益的一件事。"运筹学"又称为"数学优化方法"或者"数学规划",是一门研究各种形式不同的数学问题求最优值的武功(当然也只是这个领域最初步、最入门的知识而已)。因为在很多研究中,求最优值(解析解或者迭代的数值解)都是很常用的,所以学好运筹学,打好这方面的基础是很有益的。如果你想往其它学科交叉发展,比如I.E、经济学、金融学、管理学,有一个良好的数学优化的功底将会成为你很有力的资本。另外,咱们系的王凌老师(非常地年轻有为,以能在核心期刊上"灌水"著称,admire一下)对高年级还开了一门名为"智能优化算法与应用"的选修课,则是在"运筹学"这门课基础上的提高,讲授80年代以后的搜索优化方法的课。主要介绍的是模拟煺火(Simulated Annealing)、遗传算法(Genetic Algorithm)、禁忌搜索(Tabu Search)以及人工神经元网络(Artificial Neural Networks)的基本知识,还有王老师悟出的绝学--混合优化策略。很推荐选一下王老师的这门课,对以后做很多方面的研究工作是极有好处的。

      看三字班的教学计划,学校还开设了数学辅修学位,推荐学有余力的同学试一下。有一个坚实的数学基础,无论将来从事什么具体研究,都会感到游刃有余的。我们系有不少老师都是学数学出身的。

计算机课程(自学)

计算机软件相关:
首先是基础编程语言,我们主要用的是C(或者C++),把这部分学好是必需的,因为很多高年级的课程都需要用C语言进行编程实验;而且建议能够熟练使用vc++编程环境,这方面主要靠自学,也可以选修对应的课程,前提是对C(或者C++)有比较好的基础。个人建议可以通过假期时间集中学习,例如大一结束的那个暑假,以前不让新生买电脑,正好可以利用这个假期自学,而且也有修了C语言的基础课程;图书馆这方面的资源相当丰富(主要集中在新书阅览室,48小时)。使用VC++初期,建议多动手进行编程实践,哪怕是照搬书上的程序,光靠看书效果不是很好;能够熟练进行简单编程后,应该多使用msdn作为帮助,熟练msdn的格式以及常用的词汇,这对于将来查找其他帮助很有效,如果有兴趣,可以看看相关源代码。

数据结构,有一定的编程语言基础,例如C(或者C++)。我们年级的课程安排是把数据结构、数据库和操作系统融合为一门课--计算机软件基础;我个人觉得这三个方面都应该独立出来。计算机软件基础这门课可以说对我们和比我们高年级的自动化学生都留下了深刻的印象,既然后面的师弟师妹已经没有这门课了,这里也就不多说了。总的来说,数据结构、数据库和操作系统这三部分都非常重要而且实用,而且对于将来从事不同的研究可能更有侧重。我个人觉得数据结构投入的精力应该多一些,因为它对应了很多相关的编程实验,后两者我觉得从课程学习而言,更重要的是对这两部分有一个整理的认识,了解主要概念,如果将来从事的工作会用到这些知识,可以很容易的上手;而数据结构不太一样,如果没有写过类似的程序,真正要用到的时候,可能手忙脚乱,而且如果已经写过相应的程序,也可以将其作为公共资源,以后的工作可以直接使用。

数据库,上面已经简单提到过了。在本科的课程中,关键是打好基础,对一些基本概念、基本处理方法有一定的认识,这样,在本科期间不会花太多的时间,而且如果真正要用到数据库的时候,学起来也比较容易。在毕业设计和研究生学习期间,不少的方向都会和数据库打交道,所以这一部分的基础要打好。

操作系统,比较抽象,也主要是注重概念。有兴趣的还可以选修嵌入式操作系统等相关课程。

计算机原理,主要是了解计算机的基本构成、各功能块的作用、汇编语言。我觉得如果对计算机领域无论是软件和硬件感兴趣,那么这门课都应该好好学,特别是如果将来从事硬件工作,汇编语言都是很可能会用到的。

计算机网络,我觉得还是属于掌握基本概念的课,学到的知识将来不一定会用到,但是作为一个IT工作者,这些基本的常识还是应该知道。

数字图像处理(季梁老师开的课),很好,收获比较大,特别是体会从处理效果和处理效率上考虑,如何选择合适的处理方法,但是可能投入的时间可能比较多一些,但是如果将来从事相关的研究工作,很多基本的图像处理方法都可能涉及到。

Matlab,建议尽早的熟悉其基本用法,不仅在一些课程中可能用到(不一定一定会用到,但是如果会用,能加深对对象的理解),例如自控、运控、仿真等。Matlab里面有很多工具 箱,如果会用,会很方便,也给将来毕设或者研究生学习节省时间。

专业基础课
大一的电路原理可以说是咱们DA的第一门专业课。虽然大多数人毕业后从事的工作跟具体到电路层面的事情无关,但电路原理作为后面N多重要专业课的必修基础课程,基础打好了,以后的成绩才有保证。而且再说了,DA出来的人电路不熟,呵呵,比较没面子。
电路是一门比较典型的工科课程,名为原理,但实际上方法多于理论。也就是说想学好它,在理解原理的基础上,多做题很关键。大家高中毕业还没多久,做起题来也不会有很大的困难。而且电路是DA各专业课中唯一提供官方习题集的课程。那本习题集题量比较大,能做多少做多少,觉得掌握了就行。也曾经有位兄弟在失恋暴走的状态下一周内通吃整本,那当然也就成为了一代电路牛人。

大二的模拟电子技术基础,数字电子技术基础,以及计算机原理及应用这三门课息息相关,无论从考试成绩上还是实际掌握上可以说是一荣俱荣,一损俱损。并且基本上来说这三门课只需要掌握一定的电路原理基础,换句话说大一成绩好的同学不可掉以轻心,成绩不好的同学也不必心存畏惧。

值得注意的就是由于计原是大三,大四许多课程的命根子,而不懂数电,想弄懂计原是完全不可能的事情。这等大义面前,时间有限,作为数电基础的模电就只好让路,于是在咱们DA就出现了一个奇怪的现象,大二上先修数电,大二下修计原并回过头来再修模电。这直接导致了数电上手不易。也难怪,本来物理和电路课程里对半导体相关电性质就是语焉不详一带而过,对其进行详细讨论的模电又放到了后面。因此对于绝大多数人来说,对于数电里讲的那些芯片的原理完全就是一头雾水,不用管它,等以后学了模电所有谜底就都解开了,只要直接记住芯片外特性就行了,里面具体的东西慈祥的阎老师没考我们,PP的王老师也不会难为大家。

数电搞定了,模电和计原正常认真学就行了,基本一马平川。

大三的时候就要注意了,咱们DA传说中的葵花宝典--两学期的自动控制原理以及同样凶险的信号与系统纷纷闪亮登场。大二的课程中,基础课,专业课,数学课之间泾渭分明,到了大三,自控和信号都是综合性极强的课程,想学好的话以前有瘸腿的最好回头补一补,特别是数学课。即便如此,由于自控1的超强理论性,以及信号对微积分水平的较大依赖,不大大下一番工夫是不行的。二者的区别主要在于自控1重在把知识弄明白,信号重在把题做熟,而大三下的自控2相对轻松了许多,那以后的难点就主要在限选的专业课上了。而相对应于课程知识的强悍而言,自控和信号的五位老师可都是咱们DA有口皆碑的大好人哦。

baozii 发表于 2005-1-7 00:44

专业课
进入大三下,正统意义上专业课才悠然而至。这些课决定了我们是自动化,而不是其他的专业。以前有说法,自动化是万金油。现在大家觉得不是一个好词,于是不提。不过这确实说明了我们系学的比较杂的特征。勉强按照控制学科的\"老三论\"分一下类:

控制论:
学完了自控,大家都对经典控制和现代控制的框架有了一定的认识,我想不少人都有实际试一把的想法。至少我当时很想找个系统控制控制。很可惜,实际中没有什么系统是自己写好了传递函数或者状态方程等着你来操作的。
自控课上讨论的控制理论是一幅精彩的图画,在更大的一幅图像下,控制只是实际控制系统\"控制\",\"辨识\",\"估计\"这三要素中的一部分。呵呵,这是系统辨识课的最开始胖胖的萧德云老师一定会告诉你的,也是最后的考试一定会出现的。
能够用机理分析得出微分方程的控制对象基本都是玩具,只会出现在课堂上。系统辨识就是用一定的方法对复杂的控制对象建模,这种建模不要求机理正确,只追求外特性,系统输入输出水平上的近似。所以辨识课上最为强调的两个概念:作为输入的M序列,和最小二乘法。这两个概念都万分重要,不仅仅在辨识课上。课程进入正题后,课堂火力就基本集中在最小二乘法上了,将它精确的肢解,方方面面决无遗漏。未窥全豹仅见一斑,给人感觉:系统辨识等于最小二乘。这点上,个人觉得萧老师处理得不够大气。不过据内部人士的可靠消息(怎么来的不用问了吧),辨识的教材和教学方案都会有重大的改动。\"是你的躲也躲不掉\",祝愿DDMM们到时勤记笔记,多做习题,好好享受萧老师教诲。
最有一部分是估计了。我们这届的课程中,\"估计\"是在随机控制课中出现的。这是系内的任选课,而且数学推导比较繁杂,所以选课的同学不多。不过强烈推荐希望对整个控制系统有更深认识的同学选这门课,收获会非常大的。
估计是辨识的逆过程。系统都是有噪声的,就是有随机干扰因素的。如果干扰比较大,直接进行控制,效果一定不会好。估计就是在已知系统方程(可能是辨识出来的),利用输入输出数据估计系统真正的\"状态\",并由此进行控制。如果数学化一些,就是一定准则下随机变量的寻优。听说过\"卡曼滤波器\"吧?在这里面有。


信息论:
      本科阶段是没有一门课叫信息论的。不过,有不少的课教你怎么样对信息进行处理,加工和使用。有了一些感性认识,才能感受到抽象理论的层次和力量

人工智能导论可能是我们的本科中名字听起来最酷的课了。因为是导论课,所以内容不难。张长水老师的教学也是引导式的,讲了很多方面,开很多个头,如果你有兴趣,顺着任何一部分都走下去,都是一片天地。基本上每一个部分都介绍了一类看待问题的方法,都是和人学的,人智嘛。最重要的概念是\"状态空间\"(不是自控中的那个,虽然那个也很重要)和\"搜索\",所有的问题都是围绕如何建立合理的状态空间描述问题和如何选择满意的搜索算法在状态空间中寻找解这两个方面的。这门课有不多的几个程序要编,一定到自己上手,增加对理论的感性认识,编一个下棋的、解题的,推箱子之类的小程序很有意思的。即使不会,也千万不能抄袭,如果让张老师发现,你会死得很难看很难看,我是认真的。

给模式识别基础起个通俗点的名字,可以叫\"分类学\"。第一节课,张学工老师就让所有的同学写下自己的身高体重性别,接下来的一节又一节课,就是对这一百多组身高体重,利用不同的标准,不同的算法进行分类,看那种方法合理,看那种方法简单。模式识别的理论很系统,每一节课都在不断深入,每节课都会留相应的编程实验作业。所有的程序编下来,你就会发现,自己对模式识别有了一个概貌性的了解。我认为模式识别算是信息类专业课程的核心,如果你想以后从事信息处理方面的研究,不论是图像,声音,还是蛋白质序列,统统都是模式识别。当然,在具体的领域中,分类算法本身不是目的,更重要的是寻找具体对象稳定而鲜明的特征了。至于找不找得到,阿弥陀佛,看君造化。

系统论
      系统论是三论中强调得比较少的一极,但是系统的观点无处不在。
系统工程导论是唯一直接介绍系统理论的课了。由于系统理论的内容多且杂,没有统一的体系,这门课的具体内容是什么基本由老师的偏好决定。不幸的是,这也是一门老师更迭频繁的课。0字班是王书宁老师讲的。整个课程可以称为\"运筹学2\",介绍了很多不同系统的建模和优化理论,比如结构建模,线性回归,决策理论,因子分析,函数优化。整个课程信息量是非常大的,每一类方法都有经典的背景模型。王老师很仁慈,全学期的课程分为四次随堂测试,这样每一次复习的任务都不是很重。还是老话,认真听讲,自己做作业,一定可以拿到不错的成绩。可能有人喜欢把所有的知识放在一起考,没办法了,系统工程告诉我们:\"arrow不可能定理告诉我们:\'没有绝对公平的投票\'\"。


除去上面列举的一些有代表性的课,还有非常多其他的专业限选或者任选课。大概分为两类吧。
第一是一些技术性非常强的工具课,比如计算机仿真,就是介绍连续系统,离散事件系统计算机仿真的实现算法,以及评价仿真结果的策略,每个人或多或少都用得上的。这些类的课还有Unix系统基础,智能优化算法,操作系统,数据库原理,单片机,还有无所不在的计算机网络(Internet, 工业上控制网络)等等,听听名字就知道是做什么的,大部分都是计算机能力方面的要求,前面有人专门强调过了,这里不再罗嗦。
第二类的课程就是基于前面的控制、信息、系统三论,结合一些具体背景的实现或者就某个专题的深化。
与控制理论相关的:
计算机控制系统,是工业控制系统的组成和控制算法实现,非常结合实际,不过教材太老了。电力拖动与运动控制、过程控制分别是对电机和化工工业过程的建模和控制,开设它们的目的应该是给大家提供一个工科的背景认识,看看抽象的控制理论在具体的工业对象中是如何变化使用的。不是现在的同学幸福多了,我们当年是电力拖动、运动控制、化工原理,过程控制四门课,而且自少要修三门。现在更加强调一个坚实的基础,这部分都压缩了。三字班的DDMM们还多了一门机器人控制,我们没开,应该也是控制理论的专题深化课。当然,还有系列的控制类实验,锻炼大家处理实际和硬件方面的能力。
在前面的控制类课程中没有提到检测,而实际上这也是我们系科研很大的一部分(呵呵,检测与电子技术研究所是我们系最大的研究所了)。因为控制系统中的信号都不是凭空来的,而要依靠各种各样的传感器、仪表。三字班教学计划上必修的检测原理在我们当年是一门类似的选修课,基本上就是介绍了一些传感器,同学评价不是很高,不知道大家会不会迎来改观。现代测量,仪表设计,电子测量都属于这里,还有检测类实验是和控制类实验并列的一类,很锻炼硬件的能力。

和信息论相关的课程:
离散时间信号处理,主要介绍对一维离散时间信号的表示和处理,主要介绍滤波器的设计使用,还有一些谱估计的内容。我们的老师讲课比较照本宣科,但教材超级经典(鼎鼎大名的Oppenheim),内容很丰富。老师设计的实验非常不错,认真做一定很有收获。
数字图像处理是对特定的二维信号--图像的表示处理。内容很多,图像格式,编码压缩,滤波变换。我们这届前后开了相似的两门,一门简单,但学不到太多,一门压力很大,呵呵,普遍反映收获也很大。你自己做一个权衡吧。
和系统理论相关的课程:
      专业课中还有挺特别的一类,包括CIM系统导论,生产系统计划与控制,电子商务等。这些都是介绍信息技术在现代商业企业和工业生产中的应用,优化系统。我基本把它们看作系统理论在特定的系统中的实现和应用。都是导论课,所以都不难,更多的是介绍一些方法和观点,还有企业和生产中很具体的知识,甚至有些需要背一下。像CIM系统导论介绍企业的流程,建模。生产系统计划与控制会介绍生产调度中很具体的一些计量方法,处理手段,基本上就是运筹学。这些都是很实用,很有前途的领域,有志于在现代商业生产计划调度中一展身手的同志们要注意了。

不是吧? 发表于 2005-1-7 11:26

学好复变   线数和微机才是王道

Leon001 发表于 2005-1-7 12:06

不错不错,其实偶们的也比较相近

不是吧? 发表于 2005-1-7 16:44

自动化就是介于计算机和信息工程之间的两不沾

Leon001 发表于 2005-1-7 17:06

两不沾?都沾

不是吧? 发表于 2005-1-7 17:38

反正都是不爽的

新丁 发表于 2005-3-22 19:15

cheerio 发表于 2005-7-22 13:01

好……好难啊……

Butry 发表于 2005-8-2 21:14

学过的东西很容易忘记~~~~

silence 发表于 2005-8-11 21:14

广工的自动化就业率如何呢??

404 发表于 2005-10-5 13:41

怎么我才看到这个帖啊,,我都大四了。。。。

文轻刀 发表于 2005-10-6 21:05

比较郁闷~
这个贴出来的时候就已经是大三了。还好。。。好像还有点点点时间。。
不过,大学城的图书馆什么时候才能开啊!!!!!

文轻刀 发表于 2005-10-6 21:06

不过可以肯定,不是广工的自动化。至少我们的课程不是这样安排的。模电数电一起开,其实也差不多,模电第一二章学好了,数电也就基本上不用依靠模电了。
页: [1]
查看完整版本: [分享]怎么学自动化