《线性代数实践(教师班第一讲).ppt》由会员分享,可在线阅读,更多相关《线性代数实践(教师班第一讲).ppt(54页珍藏版)》请在三一办公上搜索。
1、线性代数实践及MATLAB入门,教师培训研讨班讲稿,必须改革的原由之一,我国的线性代数教材与国外的差距太大;以我国最流行的教材1与国外两本教材相比2 Steven J.Leon,Linear Algebra with Applications(6th Edition),2002,影印版线性代数,机械工业出版社,2004,ISBN 7-111-15216-6,pp545,机械工业出版社影印3 David C.Lay,Linear Algebra and Its Application(3rd Edition),2004,ISBN:0201709708,pp492+76,电子工业出版社影印,国内外
2、教材简要对比,国内外教材的四点明显差距,1。不由感性到理性,图是从几何走向代数的桥,没有图,学生怎么能建立好概念?2。四阶以上的线性代数问题,没有计算机是没法解的,学这门课是为了用吗?为什么不教学生用计算机解题?3。不联系工程实际。怎么叫工程数学?4。几十年一贯制,没有发展更新的热情,所以序言里写不出东西。,必须改革的原由之二,历年来学生对线性代数课程的反映:1。抽象2。冗繁3。枯燥学完了,算题还用少慢差费的中学方法;用计算机的方法很简单,但不教给学生。因为计算繁琐,后续课老师也怕线性代数,本科课程几乎都避开线性代数。不知道有什么用?没有目的性,老师也说不清,只是为了考试而学。,例:用矩阵除法
3、解线性方程组,解方程组 6 x1+3 x2+4 x3=3-2 x1+5 x2+7 x3=-4 8 x1-4 x2-3 x3=-7(A*x=B,x=inv(A)*B=AB)用程序为只要键入以下命令,即可得解:A=6,3,4;-2,5,7;8,-4,-3 B=3;-4;-7,X=AB用手工算要9次乘法和9次加法,且一次不能错,改革要达到三个对比,线性代数很抽象吗?看了本书后,你应该感到它的概念都以形象作基础。线性代数很冗繁吗?学了本书后,你应该懂得它的计算全有简明的程序。线性代数很枯燥吗?读了本书后,你应该发现它的应用极其精彩而广泛。通过的主要方法是利用软件工具的空间绘图能力、快捷计算能力和大量工
4、程问题的解,建立学习线性代数的目标和热情。,必须改革的原由之三,学习美国的先进经验ATLAST项目ATLAST是Augment the Teaching of Linear Algebra using Software Tools(用软件工具增强线性代数教学)的缩写。该项目受美国国家科学基金会(NSF)六年的资助。在1992 到 1997 六个暑期组织了十八个教师研讨班。共有来自各大学的 425 个教师参加。参加者接受了使用 MATLAB软件包的训练,并研究如何利用此软件加强课堂讲课内容。ATLAST MANUAL是根据六年中积累的成果编出的手册。,用计算机替代计算器的意义,发达国家在用计算机
5、进行线性代数教育方面的这种努力已经进行了十多年,而我们毫无响应,关起门来热衷于对手工(计算器)计算的教学方法评优、评奖、评精品。这有点像洋枪洋炮时代,我们却还在用大刀长矛选武状元。我国“数学机械化”的带头人,获得首届国家最高科学技术奖的数学家吴文俊院士语重心长地指出:“我国在体力劳动的机械化革命中曾经掉队,造成现在的落后状态。在当前新的一场脑力劳动的机械化革命中,我们不能重蹈覆辙。,我们的大目标和步骤,1。把本校的改革试验搞好、铺宽,争取国家精品课程;2。向教指委提出修改线性代数教学计划的建议,特别是希望他们仿照美国ATLAST计划,向教育部和国家科委提出立项建议;3。成为向国内各校推进用软件
6、提高线性代数教学效果的带头单位,也成为用计算机进行工科各课教学的领头兵。,近期的小目标,以半年为期。投资xxxx元,目标是出一本补丁书(“线性代数实践与MATLAB入门”),11月1日电子出版社出书;办一期教师培训研讨班,人自为战地在面上进行改革;办一期学生补丁试点班(只讲“线性代数实践”,一学分:讲12学时,上机10小时)。目前安排电院的一个班100人,11月中开课。搞出总结交流的文章和改革建议。,未来的工作设想,要反映到教学计划中,在全国作出榜样,创造拿得出手的精品(与国际上持平),最快要两年,能真正在全国起领头作用,带动上百所大学,那就要至少五年时间(美国用了六年)。在全校再抓几门用软件
7、工具提高教学的课程,比如计算方法、电路、信号和系统、信号处理。我写的几本书中已提供了一些准备。能不能快一些?用什么方法?这次培训班也是研讨班,希望大家出主意。,本培训研讨班下载网址与文件,下载的地址为:http:/下载的内容为:1。程序集文件dsk05.rar,其中包括:本书的例题程序集examples和美国ATLAST计划开发的程序集atlast652。以后几次讲稿的ppt文件。3。其他可能的通知等。,对培训老师的要求,1。用主人翁精神参加培训活动;2。除听课外,要做题,书中题的一半。3。自己出三道有创新的习题或示教。4。写出一篇小结,提出如何用软件工具改进线性代数教学的建议。5。给出看本书
8、的勘误表。国庆后要有一次座谈。,MATLAB语言入门,高效的科学计算工具使科技人员终生受益,科学计算工具的发展,算盘是最早的计算工具1630年发明了计算尺,它以后成为大学理工科学生的必备工具;1970年发明了计算器,在中国则从1980年起,计算尺迅速被计算器所取代;计算机取代计算器的过程从1990年开始,以科学计算语言出现为标志。在发达国家大学中已经完成,中国尚需努力。,工具改进促进教学科研,计算工具的改进可以全面促进各门课程的教学和科研;计算机取代计算器更具有革命性的影响。与计算器取代计算尺的过程有三点不同:(1).效率大幅提高,达数十倍或更高;(2).它反过来影响理论研究和建模方法;(3)
9、.需要有一定的培训教育,才能掌握。本讲座“MATLAB入门”就为此而设立的。,本讲座的目的要求,使读者掌握MATLAB的基本语法,能像用一个高级计算器那样来使用计算机;掌握MATLAB的编程特点,特别是矩阵运算、元素群运算和绘图方法等其他算法语言不具备的功能;配合讲座最低要有四小时上机,以后在各门课程中自觉地反复使用熟练。,MATLAB语言入门,第一章 MATLAB语言概述 第二章 MATLAB的基本语法第三章 MATLAB的开发环境和工具 第四章 基本部分的其他函数库对于线性代数课程而言,主要是第二章中的第1(矩阵赋值)、2(矩阵运算)、5(绘图)三节。,MATLAB语言的特点,MATLAB
10、是”矩阵实验室”(MATrix LABoratory)的缩写,是以矩阵运算为基础的交互式程序语言。其主要特点是:1 起点高2人机界面适合科技人员3 强大而简易的作图功能4 智能化程度高5 功能丰富,可扩展性强,MATLAB语言的特点,1 起点高()每个变量代表一个矩阵,每个矩阵,可以有nm个元素。()每个元素都看作复数;()所有的运算都对矩阵和复数有效。,MATLAB语言的特点,2人机界面适合科技人员(1)语言规则与笔算式相似:易写易读。(2)矩阵行数列数无需定义:(3)键入算式立即得结果,无需编译:有错误也会立即作出反应。因为MATLAB是以解释方式工作的。,MATLAB语言的特点,3 强大
11、而简易的作图功能()能根椐输入数据自动确定座标绘图;()能规定多种座标系(极座标,对数座标等);()能绘制三维座标中的曲线和曲面()可设置不同颜色、线型、视角等。如果数据齐全,通常只需一条命令即可出图,MATLAB语言的特点,4 智能化程度高()绘图时自动选择最佳座标以及自动定义矩阵维数;()作数值积分时自动按精度选择步长;()自动检测和显示程序错误的能力强,易于调试。,MATLAB语言的特点5,5功能丰富,可扩展性强 MATLAB包括基本部分和专业扩展两部分:基本部分包括:矩阵的运算和各种变换;代数和超越方程的求解,数据处理和付立叶变换,数值积分等等,可以充分满足大学理工科本科的计算需要。它
12、本身包括21个程序库,见表1.2。本书将介绍这部分的主要内容。,第二章 基本语法,2.1 变量及其赋值2.2 矩阵的初等运算 2.3 元素群运算 2.4 逻辑判断与流程控制2.5 基本绘图方法2.6 M文件及程序调试,变量及其赋值,(1)标识符与数(2)矩阵及其元素的赋值(3)复数(4)变量检查(5)基本赋值矩阵,一。标识符与数,标识符:标识符是标志变量名、常量名、函数名和文件名的字符串的总称。MATLAB中的标识符最长允许19个字符,合法字符是52个英文字母(大小写看成不同字符)、10个数字和下划线。第一个字符必须是英文字母.,MATLAB中的数,MATLAB中的实数只有一种数据格式,那就是
13、双精度(即64位二进制或8个字节),它的有效值是十进制16位,动态范围是10的308次幂。2.225110 3081.797710+308 数的存储和运算全按同一格式进行,使编程简单,减少差错,改善人机交互,付出代价是内存空间和运行速度,形成MATLAB的一大特色。,数的八种显示格式,二。矩阵及其元素的赋值,格式1:变量表达式(或常量)格式2:表达式表达式中的运算符有:加(+)、减(-)、乘(*)、左除()、右除(/)、指数()、共軛转置()、矩阵()等。表达式的结尾标点:若为分号;,不显示;若为逗号,或直接回车,显示运算结果。,三。复数,虚数符号MATLAB启动时定为i,j,可以不用乘号,连
14、写在数字后面。如果用户在程序中另外給i,j赋值,则它们的虚数意义就失效。conj(x)表示共軛,即把x的虚部反号。是共軛转置运算符,对实矩阵把行号与列号交换,对复矩阵除行列交换外,还要把矩阵元素取共軛。,四。变量检查,变量检查命令who,whos打开工作空间视窗在检查中不显示内部变量eps,realmax,realmin,pii,j,inf,NaN,五。特殊矩阵赋值函数,矩阵组合与显示,大矩阵可由若干个小矩阵组成,但必须其行列数正确,恰好填满全部元素。一个矩阵中所有元素用同一显示格式。有一个是小数则都用小数;当矩阵中的最大元素小于0.001,或其最小元素大于1000时,MATLAB会把其公因子
15、提出来。元素大小差别很大时,不宜用矩阵显示。,2.2 矩阵的初等运算,(1)矩阵数值的表示方法;(2)矩阵的加减乘法;(3)矩阵的除法和线性方程解;(4)矩阵的乘方和超越函数;,矩阵的加减法,两矩阵进行加减的条件是其行数和列数相同,简称阶次相同,矩阵的加减即其对应元素的加减。size(A)=size(B)如果其中一个变量是标量,则会自动扩展成各元素均取此标量值的同阶次矩阵。,矩阵的乘法,c(i,j)=a(i,1)*b(1,j)+a(i,2)*b(2,j)+a(i,p)*b(p,j)=pa(i,k)*b(k,j),矩阵的乘法,两矩阵相乘C=A*B的条件是A的列数等于B的行数,简称内阶数相同。设矩
16、阵A 为np阶,矩阵B为pm阶,则C是nm阶。内阶数不同的矩阵不能相乘。不符合交换律:A*BB*A,左乘不等于右乘;若一个变量是标量,则按标量乘法。,矩阵除法,线性方程组D*X=B,如果D非奇异,即它的逆矩阵inv(D)存在;则其解用MATLAB表为:X=inv(D)*B=DB符号称为左除,即分母放在左边。左除的条件:B的行数等于D的阶数(D的行数和列数相同,简称阶数),矩阵右除,若方程组表为为X*D1=B1,D1非奇异,即它的逆阵inv(D1)存在。则其解为X=B1*inv(D1)=B1/D1符号/称为右除。右除的条件:B1的列数等于D的阶数(D的行数和列数相同,简称阶数),线性方程组表为矩
17、阵相乘,x1+2 x2+3 x3=23 x1-5 x2+4 x3=07 x1+8 x2+9 x3=2可以表为故有 X=x1;x2;x3=Ab,用矩阵除法解线性方程组,解方程组 6 x1+3 x2+4 x3=3-2 x1+5 x2+7 x3=-4 8 x1-4 x2-3 x3=-7的程序为:A=6,3,4;-2,5,7;8,-4,-3;B=3;-4;-7;X=AB,矩阵整体的幂次运算,MATLAB的乘幂函数”、指数函数expm、对数函数logm、和开方函数sqrtm是对矩阵进行的,另外,还有矩阵乘法和除法也是把矩阵作为一个整体来运算。除此之外,其他MATLAB函数都是对矩阵中的元素分别进行,,2
18、.3 元素群运算,数组及其赋值 元素群的四则运算 元素群的幂次运算 元素群的函数元素群运算能大大简化编程,提高运算的效率,是MATLAB优于其他许多语言的一个特色。,一。数组及其赋值,数组通常是指单行或单列的矩阵,也称为向量。其赋值方法:(1)x=初值:增量:终值(2)线性分割函数 x=linspace(起点,终点,点数)(3)对数分割函数logspace(起点对数,终点对数,点数),二。元素群的四则和幂次运算,元素群运算:就是把两矩阵按逐个元素进行运算。为了与矩阵作为整体的运算符号相区别,要在运算符“*、”前加一点符号“”。元素群运算的英文原文是数组运算(Array Algorithm),实
19、际上它适用于任何阶的矩阵,故取名元素群运算更为确切。,三。元素群的函数运算,所有的MATLAB函数都适用于作元素群运算,只有专门说明的几个除外。就是*、/、运算符和sqrtm、expm、logm三个函数。实例,做一个三角函数表:x=0:0.1:pi/4;x,sin(x),cos(x),tan(x),基本绘图方法,(1)直角座标中的两维曲线(2)多条曲线的绘制(3)其他坐标二维绘图(4)屏幕控制(5)三维曲线和曲面,2.5 基本绘图方法,直角座标中的两维曲线plot命令的基本格式plot(Y)=plot(n,Y)plot(t,Y)plot(t,Y,:w)最后一个变元前一个符号为线型(点型)后一个
20、字母表示颜色,线型、点型和颜色,三维曲线,空间曲线绘制空间曲线的参数方程:x=x(t),y=y(t),z=z(t)自变量 t 即为参数向量,故x,y,z为同样长度的数据向量plot3(x,y,z)可以画出空间曲线。,三维曲面,三维曲面的自变量是两维矩阵X和Y,代表xy平面上点阵的x,y坐标;第三维因变量z是x,y的函数,z=f(X,Y)得到的数组与X,Y同阶;空间曲面的绘制 mesh(X,Y,z)或mesh(z)X,Y为两维自变量矩阵,表示平面上的点阵;Z是X,Y的函数,所以是两维的因变量矩阵;mesh(X,Y,Z,C)和surf(X,Y,Z,C)变元C是颜色,可以表示第四维空间。,简便绘图命令,MATLAB中提供的有ezplot,ezmesh,ezsurf等ATLAST提供的有plotline,plotamgle,eigplot 等本书提供的有ezplplot,ezplplot2,ezplplot3等这些将在用到时作介绍。,