线性代数实践及MATLAB入门的第二版序
对应的哪个是不一定的
rref 不是找哪个方程没有
所求方程是Ax=b,其中b含有参数a.
matlab求解就是输入A,b,则x=A-1b。再代入a=216。
过程如下
===========================================
>> syms a
>> A=[1 -1 -2 3;1 -3 -6 2;1 5 0 -10;3 1 7 4]
A =
1 -1 -2 3
1 -3 -6 2
1 5 0 -10
3 1 7 4
>> b=[0;-1;a;8]
b =
0
-1
a
8
>> x=A^-1*b
x =
(7*a)/60 + 31/20
(11*a)/100 - 91/100
39/50 - (7*a)/150
- a/30 - 3/10
>> subs(x,a,216)
ans =
107/4
457/20
-93/10
-15/2
=======================================
命令如下
=======================================
>> syms a
>> A=[1 -1 -2 3;1 -3 -6 2;1 5 0 -10;3 1 7 4]
>> b=[0;-1;a;8]
>> x=A^-1*b
>> subs(x,a,216)
2005年,作者根据十年来编书中使用矩阵的体会和美国线性代数教材改革的做法,编著了本书第1版。那时所写的前言,主要反映国外的经验,希望国内效仿。交稿以后,作者在西安电子科技大学申请了“用软件工具提高线性代数教学水平”的教改基金项目,举办了一个由40多位教师参加的培训班,组织几位教师进行了连续三届共800多名学生参加的教学改革试点,此项目后来又得到了教育部理工科处及数学教指委数学基础课程分教指委的支持,并在2008年5月进行了鉴定。这第2版的序言就着重介绍近三年来我们教改的经历和体会。
教改的基本指导原则是两条:一是“需求牵引,面向应用”,根据对机械和电子专业后续课大量应用的分析,提出本课程的目标是能解6阶以上的线性代数问题;二是“技术推动,引入机算”,借现代化手段之助,做到抽象与形象的结合,笔算与机算的结合,基础课和专业课的结合。我们具体进行了以下几方面的工作。
对课程的教学要求进行了全局的论证
四个现代化对教育现代化的要求首先表现在对专业课要求日益扩展和加深,再由专业课反映到基础课,促进整个教学计划的改革创新。要保证高的教学水平,必须经常对这条需求链进行论证,国外大学经常进行的ABET论证就包括这个内容。遗憾的是,没有见到国内对线性代数课程做过这样的论证,似乎无人关心课程内容该如何满足专业课的需要。我们在进行这项工作时,以量大面广的机械、电子专业为对象,分析其后续课程在矩阵建模和计算方面的需求,以确定线性代数课程的任务。
根据十多年来把科学计算用于多门课程的编书实践,我们找到了这两个专业大学三年级前能用到线性方程的十多门课程:化学、高等数学、电路、理论力学、材料力学、计算方法、传热学、物理、计算机图形学、信号与系统、数字信号处理、机械振动、机器人学等(其用矩阵建模和计算的例题都已列入本版书中)。但在实际教材中,这些课程都基本上不用矩阵计算,原因在于目前线性代数所教的内容与后续课的需求脱节。
脱节的第一个表现是阶次N(指方程数和变量数中的大者),化学方程配平的阶次是反应式前后物质的总数,每边三种物质,N就是6。静力学中空间单物体平衡有6个方程,多一个物体,方程就加倍。电路图的节点数就对应于方程数,可见大学课程需要的N至少是6以上,而工程实践中将达到几百和几千。第二个表现是方程组类型,在物理实验和各种测量学中,都使用冗余数据提高精度,遇到的往往是超定方程,而现有课程多数不讲超定方程。第三个表现是数域,交流电路、信号处理遇到的往往是复数代数方程。
根据以上的分析,教改中我们将课程的实践目标定位为:在保持原有理论和实践水平的基础上,使学生学会高效地解6阶以上、复数、超定线性代数问题。新旧教学要求的对比可以用图来说明。图中白色部分是现在大纲的覆盖区,它一般只能解3阶问题,求特征值只到2阶。灰色部分是因计算复杂而难以笔算的,黑色区则是根本没教算法的,此外因为只限于实数问题,白色区又都缩小一半。新提出的目标是学生会解的问题能覆盖全图,包括实数和复数方程,阶次可以扩展到几十、几百阶,从而可与后续课程实现无缝衔接。
百分之八十以上的后续课程的题目都不会落入白色区域,会做本书题目的线性代数老师大概只是凤毛麟角,所以我国线性代数的教育水平也可见一斑了。
关于如何引入计算软件的问题
人们为什么不愿用矩阵解题呢?因为若没有矩阵运算的工具,即使是低阶的题目,其效率也低于代入法和消去法,人们宁可用中学的解题方法。至于N >4的高阶复数问题,更是望洋兴叹,因此若不教工具,后续课程都不愿意用矩阵。许多学生反映:他们学了线性代数在本科就没有用过,只在考研时有用;这就根本无法体现线性代数在教学计划中的基础课地位,至于让学生懂得线性代数在科学计算中的重要地位就更谈不上了。
要达到解高阶复数方程的目标,唯一的方法是用计算机,特别是要用最优秀的软件工具。其实不仅是计算机帮助了线性代数,线性代数对科学计算的帮助也非常大。计算机比计算器的优越性主要不在于单次运算速度快,而在于它能够对海量数据进行连续的运算处理,海量数据的最好组织方法便是矩阵。例如算一个1024点的傅里叶变换,就要用信号数组乘一个1024×1024的方阵,它包含100多万个数据(见本书例10.9)。没有矩阵的概念,这么大量的数据如何赋值、如何摆放都成问题。所以在学习矩阵之前很难充分发挥计算机的能力,而在学习线性代数的时候完成由计算器向计算机的转变是最合适的选择。
有一些老师对线性代数课使用计算机提出异议,其理由是学生用计算机算题,必然会放松笔算,不动脑筋,影响他们对基本概念的理解。有人甚至以禁止小学生用计算器作为论据,认为在大学一年级禁止用计算机是合理的。
持上述观点的老师,大概没有算过6阶以上的应用题,不知道手工做几百次乘法不许出错是什么滋味,更不知道CAD在现代化中的重要性。所以,怕学生“偷懒”而不教学生先进的知识,对教育和科学事业是极为有害的。历史上“新技术让人变懒”的论调不知重复了多少次,都不过证明了自己“懒”于跟进时代而已。在开放的信息社会中,我们应该提倡大学生从网上、从全世界去寻找解决任何问题的最新技术,怎么可以封堵知识呢?从一定意义上说,人如果不想“偷懒”,就没有各种机器的发明和科技的进步。用科学方法来“偷懒”是要提倡的行为。大学如果不大力提倡学最新知识,那怎样能培养“创新人才”呢?在让学生掌握更多知识和计算技能的同时,为了避免他们囫囵吞枣,在出习题和提问的时候,要拐弯,要让他们动脑筋,不能简单抄袭,那是教学的艺术;但绝不能只教笨办法,不教新技术。否则,还有什么“三个面向”?这样培养出的学生与发达国家培养出的同档次人才来比,不是成了无知的傻瓜吗?
在我们的教学实践中,共有800多名学生参加了教改试点,试点的学生普遍为刚进大学就能接触到现代化工具而兴高采烈,并因自己既会笔算、又会机算而自豪。不仅他们的实践解题能力大大超越了普通班,而且他们的理论考试成绩也高于普通班。我们倒没有在理论教育上下特别的工夫,其提高的原因可能是:(1)大量的实例和形象化教学,提高了学生学习的积极性;(2)我们在课程中提倡笔算与机算相结合;(3)学生在计算上节省出的时间,有利于他们更多进行概念的思考。实践证明,怕学生偷懒的担心是多余的。
我们觉得,教育部门确实要对学生从小学到大学的科学计算能力的全程培养做出规划。防止学生上网成瘾的最好方法不是封堵,而是引导他们用计算机来学习和算题。“计算机要从娃娃抓起!”从国际上看,大一学生学会用计算机算题,无论如何是不嫌早了。
关于如何培养学生抽象思维能力的问题
过去线性代数课程教学中,既缺乏应用实例,用数字运算又太烦琐,因此只好把 “抽象思维能力”作为课程主要的培养目标,但我们不赞成这种提法。第一是目标欠妥,工科大一的新生,感性知识还很少,三维空间概念还有待建立,工程实际知识几乎空白,根本没有抽象思维的基础;老师们放着图中或书本中大量未解决的实际问题不学不教,却要去教空洞的“抽象思维”,是本末倒置、有害无益的;第二是方法不对,只讲理论,不联系实际,就能培养抽象思维能力吗?根本不行!如果学生对自己熟悉的课程领域都不会用矩阵建模解题,怎么可能指望他们对更深奥的问题进行抽象思考呢?这是人类的思维规律啊!
不管老师还是学生,都要经过大量从感性上升到理性的训练,才能培养抽象思维能力。所以我们在教课时要利用软件工具的优势,使抽象概念形象化;要大量介绍矩阵建模的实例,使学生体会到使用矩阵的优越性。事实上,见多了就会模仿。只有让学生看到线性代数在自己熟悉的各门课程中都能建模,而且解题快捷,他们就能逐渐学会用矩阵建模了。
我在20世纪70年代开始遇到矩阵,但只用它推理,没法用它算题;1995年接触了MATLAB,发现它在解矩阵问题方面的特殊优势,只要写出矩阵表达式,问题都可快速得解。于是我在各门课程中都尝试用矩阵建模和解题,写出了涉及十多门课程的多本教材(见参考文献[10]~[12]),并就逐渐地在前人没做过的领域使用矩阵建模了。其中具有创新价值的基础性工作是把信号流图抽象为矩阵模型,并且用MATLAB求解。
目前国内外所有的信号与系统、信号处理及自动控制教材讲信号流图时,所用的解法都是1953年由梅森提出的以图论为基础的公式,既没有证明、用起来又很烦琐,更无法用计算机编程。掌握了MATLAB工具后,我就力求把信号流图也表现为矩阵,并终于得到了成功(见参考文献[8,9]),使得不管多复杂的连续和离散的信号流图都可以方便地靠计算机求解。在本书中,它反映在8.6.3节,8.6.4节和10.11节中。这说明抽象思维既需要大量建模实践为基础,又要掌握先进的解题工具,才有动力;而且要靠长期的科研实践,不是靠一门只讲理论、不联系实际的数学课所能培养出来的。
理工结合和师资培训问题
工科线性代数属于工程数学,要把数学用于工程,教师必须既有坚实的数学基础,又有必要的工程知识。线性代数的教改加进了数学软件,教师必须要较好地掌握软件的编程;此外,还要有教学经验的积累。线性代数是一个量大面广的课程,每年有100~200万学生要上这门课,全国的线性代数教师可能多达1~2万人。其中有的是数学专业出身,有的是工程专业出身,要适应笔算和机算兼顾的教学要求,是要下一番工夫才能胜任的。
有人提出,数学课必须由学数学出身的人教才能教好,这是很片面的。另外,有些学校的工程系为了给本系老师争工作量,以为线性代数简单、好教,不经辅导培训就让新上岗的工科教师来应付,这也是不对的。需求和应用是学科发展的导向,工程数学要更好地服务于应用,既需要出身于数学而对工程有兴趣的老师,也需要出身于工程而对数学有兴趣的教师。他们都可以对工科数学的教改作出较大贡献。反之,出身于数学专业而对工程不感兴趣的老师,或出身于工程专业而对数学不感兴趣的老师,肯定教不好工科数学。根据我们的体会,工科线性代数教改中这两类教师的结合非常重要,绝不应该有门户之见,各自要学习对方的长处,克服自己的不足。我们新编的《工程线性代数(MATLAB版)》教材就是在工程专业和数学专业教师合作下完成的。
国外的经验值得我们借鉴。美国关于线性代数的教改的五条LACSG Recommendations就是由数学专家和工程界的权威开会联合提出的。美国大学的工程数学教学工作也有些就由工程系承担,例如斯坦福大学的概率论和数理统计课程。即使由数学系教授任教的工程数学,由于大学分专业晚,而且数学教授从事与工程结合的科研项目也多,他们的工程知识普遍比中国教师强得多,这可从其线性代数教材(见参考文献[1]~[4])所具有丰富的工程背景看出。为了推动课程改革走向正确的方向,必须加强教师培训和考核,不管出身如何,任课教师应该对工程和数学都有很大的兴趣,愿意把两者更好地结合。要根据坚实的数学基础、必要的工程知识,良好的编程能力和丰富的教学经验四方面的条件对教师进行培训、考核和遴选。
需要进一步探索的问题
为了便于检验教改的效果和应对考研,我们的改革是有约束条件的,那就是保持线性代数原有理论内容不变,只增加实践内容和提高解题水平。这就必然要增加课时,增加的一个学分中,MATLAB占4学时,上机10机时(合5学时),线性代数实践占6学时。如果不算MATLAB的9学时,线性代数多用了6学时,其中包括多讲了超定方程解法和与计算有关的额外理论(如计算速度和精度、条件数、奇异值分解等)。
其实,线性代数理论的学时数确有减少的余地。美国的LACSG Recommendations建议全课面向非数学专业,突出应用性;不再强调抽象思维,只对数学系另外开课加强抽象性。有些大学干脆把工科线性代数改名为“矩阵应用”,这些措施都是为了减少原来的线性代数课过于抽象的 “数学味“。我认为,如果研究生统考的试题能同步改革,减少抽象性,突出应用性,那么理论部分减少6个学时应该是不困难的。当然这还有待于大家的探索,也需要教指委等教学指导部门和行政、考试部门的正确指导和干预。
六、教指委和本校专家对本项目的鉴定意见
2008年5月,由教育部高等学校数学与统计学教指委数学基础课程分教学指导委员会和西安电子科技大学联合组织了鉴定小组,对这个实施了多年的项目进行了验收鉴定。鉴定意见指出:
“本项目从工程技术应用的视角,审视了线性代数课程教学内容和教学方法,将工程背景、应用实例和现代科学计算软件融入了线性代数教学,符合国内外教学改革的方向和国际潮流,有助于实现“提高教育现代化水平”的目标,在国内线性代数课程教学中属于首创。
课题组编写的《线性代数实践及MATLAB入门》和《工程线性代数(MATLAB版)》两本教材,较好地体现了经典理论与现代计算手段相结合,将抽象概念形象化,使一些复杂的计算问题得以实现,激发了学生学习的兴趣,培养了解决问题的能力,提高了教学质量,为后续相关课程中应用线性代数知识打下了很好的基础。
本课题组的改革思想和取得的改革经验具有示范意义,出版的教材和教学实践在校内外产生了较大的影响,课题组举办的卓有成效的师资培训班以及所提供的程序集、课件和其他教学资料,为本项目的推广应用创造了良好的条件。
专家组高度评价了该项目组两年多来在线性代数课程教学改革中所取得的显著成果,一致认为:该项目改革理念先进,特色鲜明,具有创新性,是一项高水平的教学改革成果,具有很好的推广价值。”
我们将更好地贯彻专家组的意见,为在全国推广这一成果而努力,对本书的修订就是措施之一,也希望全国有更多的大学和老师参与。美国在全国推广“用软件工具提高线性代数教学”的项目用了六年的时间,所以不下大的力气,我国是很难在同样时间内做到这一点的。而线性代数课中是否学会了软件工具,会直接影响几乎所有后续课程现代化的进程,当然也会影响我国教育现代化的进程。
对已学过线性代数理论的人员,包括高年级学生、教师和工程技术人员等,进行在岗培训,补上线性代数实践这一课也是一个很重要的方面,不然他们就没法解决工程实际问题。为了更好地面向这些读者,在本书的第2版中我们增加了第10章,增补了一些机械和电子专业后续课中较深的线性代数应用实例,低年级大学生则可不学这一章。
出版说明
由于把计算机与线性代数相结合,本书在印刷排版上出现了一些新问题,需要把两者更好地融合起来。我们作了如下处理:
(1)在叙述文中,全部按原有线性代数书的排版规则,即使遇到MATLAB函数或语句,矩阵仍用黑斜体,下标则仍用小号字,如[p,lamda]=eig(A3)。
(2)书中所有人机交互的部分等用白体。即在输入计算机的MATLAB完整程序段或程序行中全用正白体,如A1=A3*A4,因为计算机不接受黑斜体矩阵,下标也不能用小号字。这与我们提供的下载程序集一致。程序运行后计算机显示的结果也全用正白体。如:
输入 [p,lamda]=eig(A3)
得到
(3)除了说明矩阵阶数Am×n之外,乘号运算符不用×,统一采用*,或完全省略,如A*B或AB。
陈怀琛 2008年7月于美国硅谷
MAT需要考什么
一、数学基础 MAT考试作为管理类专业研究生入学考试的一部分,对数学基础的考察是必不可少的。这主要包括数学中的基本概念、原理和解题方法,如代数、几何、概率与统计等。考生需要掌握这些基础知识,并能够在实际问题中灵活运用。二、逻辑推理 逻辑推理是MAT考试的重要组成部分。这部分主要考察考生的逻辑...
cma和mat考什么
此外,CMA考试还要求考生掌握战略决策制定所需的知识和技能,如经济学基础、商业伦理和风险管理等。这些知识和技能有助于考生在复杂的商业环境中做出明智的决策。MAT考试内容详解 MAT考试主要评估考生的数学能力,包括微积分、线性代数等基础知识,以及对逻辑推理能力的考察。这种考试的重点在于对复杂问题的数学...
mat证考什么
1. 数学基础:这是MAT证考试的核心部分之一。考试会涉及代数、几何、概率和统计等基础知识,要求考生熟练掌握数学原理和计算方法。2. 逻辑思维能力:考试会通过各种题型,如逻辑推理、批判性思维等,来评估考生的逻辑思维能力。这一能力对于任何职业领域都是非常重要的,因为它涉及到问题的分析、推理和解决...
线性代数中什么叫diag矩阵?
线性代数中符号diag表示一个对角矩阵(即指除了主对角线外的元素均为零的方阵)。对角矩阵(diagonal matrix)是一个主对角线之外的元素皆为0的矩阵,常写为diag(a1,a2,...,an) 。diag函数在FreeMat、Matlab中该函数用于构造一个对角矩阵,不在对角线上元素全为0的方阵,或者以向量的形式返回一个...
线性代数里的“diag”是什么意思?
线性代数中的“diag”函数是一个非常有用的工具,它主要用于构造对角矩阵或者提取矩阵的对角线元素。在不同的数学软件中,如FreeMat和MATLAB,该函数的具体用法略有不同。在FreeMat中,“diag”函数的基本用法是接受一个矩阵或向量作为输入,并返回该矩阵的对角线元素或者构造一个对角矩阵。具体来说,函...
线性代数里的“diag”是什么意思?
线性代数里的“diag”是什么意思? 释义:提取对角元素。diag 函数功能:函数在FreeMat、Matlab中该函数用于构造一个对角矩阵(功能:在FreeMat、Matlab中该函数用于构造一个对角矩阵(不在对角线上元素全为0的方阵)或者以向量(在matlab中,1*n、n*1的矩阵都可以看做是一个向量)的形式返回一个矩阵...
mat什么意思英语
矩阵:"Mat"也可以指二维数组,即矩阵。在数学中,矩阵是一种非常重要的概念,被广泛应用于线性代数、数值分析等领域。船舷垫: "Mat"还可以指船舷垫,即用于船舷的缓冲材料。 船舷垫通常由橡胶或塑料制成,用于保护船舶与码头或其他船只之间的缓冲作用。毛茸茸的表面: "Mat"还可以指毛茸茸的表面,通常...
MAT考试有些什么难题?
5. 证明题:这类题目需要学生运用数学知识,通过逻辑推理和计算来证明某个命题的正确性。例如,可能会给出一个关于几何或代数的命题,要求学生证明这个命题的正确性。总的来说,MAT考试的难题主要体现在对数学知识的深度和广度的要求上,以及对逻辑思维能力和解决问题能力的考察上。因此,想要在MAT考试中...
cma和玩mat有什么不同
内容差异 CMA的学习内容涵盖了财务会计、管理会计、战略规划、决策分析等多方面的知识和实务技能。而MAT的内容则更加聚焦于数学理论、算法、模型等,可能涉及高等数学、线性代数、概率统计等数学知识,或是特定的数学软件工具的使用。应用领域的区别 CMA在实际工作中的应用场景主要是企业财务领域,为企业管理层...
如何准备牛津MAT考试
掌握必要数学知识 MAT测试涵盖了广泛且深入的高科技数学领域,因此,想要在这门考试中取得好成绩,必须熟练掌握数学的基本知识,例如线性代数、微积分和微分方程等。如果您还没有完整地掌握这些概念,可以参考一些经典的高中数学与高等数学的教材进行学习。练习 除了掌握数学知识外,要在MAT考试中获得好成绩还...
成王怕通宣: 初学matlab最需要是数学基础,如矩阵(最基础的),函数、方程、高等数学、数值分析、线性代数、统计、优化、运筹学等基本知识,还需要最基础的编程语言方法(如你熟知VB或VC等语言就很容易入门了).
礼县13044895186: 关于matlab的初学入门问题? - ?
成王怕通宣: 1.建立一个命令文件将变量a,b的值互换:e31.m文件: a=1:9;b=[11,12,13;14,15,16;17,18,19];c=a;a=b;b=c;ab 2.求一元二次方程a2 +bx+c=0的根:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/...
礼县13044895186: 我想学matlab 不知如何开始! - ?
成王怕通宣: 不知道你有没有线性代数的基础.想要用好matlab,最好先要学好线性代数,这个比编程基础要重要.因为matlab对数据的处理都是基于矩阵的.没有其他语言基础没关系,因为matlab的语法并不复杂.良好的线性代数基础能够让你更快的理解...
礼县13044895186: 线性代数,施密特正交化的几何意义是什么 - ?
成王怕通宣: 得到相互正交的单位向量
礼县13044895186: MATLAB开始应该怎么学... - ?
成王怕通宣: 也不尽是,matlab是矩阵实验室的简称,学好matlab,至少要有点线性代数的功底,不然的搞不懂matlab中的一些算法,而且要有c的功底,编程的基本思想,其实matlab很好学,只要你会用c编程序,matlab较c更简单,易编,matlab中语句和c有类似,语法稍有不同,如if语句,while语句两者都有,但具体用法不同
礼县13044895186: 线性代数与MATLAB - ?
成王怕通宣: 我觉得挺好用的啊.matlab唯一缺点是对于做学术的人你必须购买正版软件才能公开发布你用其研究的成果.用D版软件研究成果一旦发布,会连累你所在科研机构的信誉.但正版那个贵阿$$$$$$.-_-~ 可以用开源的scilab,你可以从其官方网站下载源代码自己编译出scilab,或者直接下载其安装包.这款软件功能和matlab差不多,但教程和demo少很多.
礼县13044895186: 学习matlab的步骤和阶段 - ?
成王怕通宣: 对于新手来说,matlab真的是无从下手,因为matlab涉及的太广泛了,首先matlab能处理图像、信号,还可以可视化,还能反演. 如何学习呢? 从单一方向入手,就是说你要用matlab干什么?按照这个方向学习,学完后推广就行了. 第一阶段...
礼县13044895186: 学习MATLAB前需要哪些知识储备? - ?
成王怕通宣: 1、基本的高等数学 2、数值分析 3、线性代数 4、计算机基本语言 等
礼县13044895186: MATLAB应该怎样入门???
成王怕通宣: 要先学好线性代数···然后上机操作,找本不错的教程,按照书上写的试试就好了