《线性代数实践(教师班第1讲).ppt》由会员分享,可在线阅读,更多相关《线性代数实践(教师班第1讲).ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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、子工业出版社影印国内外教材简要对比篇幅图(张)计算软件工程应用实例修订思想(序言)119632开6没有0没有Leon254516开100MATLAB33几年改一次,热情给出修订理由和网上帮助。Lay 354816开300MATLAB24国内外教材的四点明显差距1。不由感性到理性,图是从几何走向代数的桥,没有图,学生怎么能建立好概念?2。四阶以上的线性代数问题,没有计算机是没法解的,学这门课是为了用吗?为什么不教学生用计算机解题?3。不联系工程实际。怎么叫工程数学?4。几十年一贯制,没有发展更新的热情,所以序言里写不出东西。必须改革的原由之二必须改革的原由之二历年来学生对线性代数课程的反映:1。
3、抽象2。冗繁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(用软件工具增强用软件工具增强线性代数教学线性代数教学)的缩写。该项目受美国国家科学基的缩写。该项目受
5、美国国家科学基金会金会(NSF)六年的资助。六年的资助。在在1992 到到 1997 六个暑六个暑期组织了十八个教师研讨班。共有来自各大学的期组织了十八个教师研讨班。共有来自各大学的 425 个教师参加。参加者接受了使用个教师参加。参加者接受了使用 MATLAB软软件包的训练,并研究如何利用此软件加强课堂讲件包的训练,并研究如何利用此软件加强课堂讲课内容。课内容。ATLAST MANUAL是根据六年中积累是根据六年中积累的成果编出的手册。的成果编出的手册。用计算机替代计算器的意义发达国家在用计算机进行线性代数教育方面的这种努力已经进行了十多年,而我们毫无响应,关起门来热衷于对手工(计算器)计算
6、的教学方法评优、评奖、评精品。这有点像洋枪洋炮时代,我们却还在用大刀长矛选武状元。我国“数学机械化”的带头人,获得首届国家最高科学技术奖的数学家吴文俊院士语重心长地指出:“我国在体力劳动的机械化革命中曾经掉队,造成现在的落后状态。在当前新的一场脑力劳动的机械化革命中,我们不能重蹈覆辙。我们的大目标和步骤1。把本校的改革试验搞好、铺宽,争取国家精品课程;2。向教指委提出修改线性代数教学计划的建议,特别是希望他们仿照美国ATLAST计划,向教育部和国家科委提出立项建议;3。成为向国内各校推进用软件提高线性代数教学效果的带头单位,也成为用计算机进行工科各课教学的领头兵。近期的小目标以半年为期。投资x
7、xxx元,目标是出一本补丁书(“线性代数实践与MATLAB入门”),11月1日电子出版社出书;办一期教师培训研讨班,人自为战地在面上进行改革;办一期学生补丁试点班(只讲“线性代数实践”,一学分:讲12学时,上机10小时)。目前安排电院的一个班100人,11月中开课。搞出总结交流的文章和改革建议。未来的工作设想要反映到教学计划中,在全国作出榜样,创造拿得出手的精品(与国际上持平),最快要两年,能真正在全国起领头作用,带动上百所大学,那就要至少五年时间(美国用了六年)。在全校再抓几门用软件工具提高教学的课程,比如计算方法、电路、信号和系统、信号处理。我写的几本书中已提供了一些准备。能不能快一些?用
8、什么方法?这次培训班也是研讨班,希望大家出主意。本培训研讨班下载网址与文件下载的地址为:http:/下载的内容为:1。程序集文件dsk05.rar,其中包括:本书的例题程序集examples和美国ATLAST计划开发的程序集atlast652。以后几次讲稿的ppt文件。3。其他可能的通知等。对培训老师的要求1。用主人翁精神参加培训活动;2。除听课外,要做题,书中题的一半。3。自己出三道有创新的习题或示教。4。写出一篇小结,提出如何用软件工具改进线性代数教学的建议。5。给出看本书的勘误表。国庆后要有一次座谈。MATLAB语言入门语言入门高效的科学计算工具高效的科学计算工具使科技人员终生受益使科技
9、人员终生受益科学计算工具的发展科学计算工具的发展算盘是最早的计算工具1630年发明了计算尺,它以后成为大学理工科学生的必备工具;1970年发明了计算器,在中国则从1980年起,计算尺迅速被计算器所取代;计算机取代计算器的过程从1990年开始,以科学计算语言出现为标志。在发达国家大学中已经完成,中国尚需努力。工具改进促进教学科研工具改进促进教学科研计算工具的改进可以全面促进各门课程的教学和科研;计算机取代计算器更具有革命性的影响。与计算器取代计算尺的过程有三点不同:(1).效率大幅提高,达数十倍或更高;(2).它反过来影响理论研究和建模方法;(3).需要有一定的培训教育,才能掌握。本讲座“MAT
10、LAB入门”就为此而设立的。本讲座的目的要求本讲座的目的要求使读者掌握MATLAB的基本语法,能像用一个高级计算器那样来使用计算机;掌握MATLAB的编程特点,特别是矩阵运算、元素群运算和绘图方法等其他算法语言不具备的功能;配合讲座最低要有四小时上机,以后在各门课程中自觉地反复使用熟练。MATLAB语言入门第一章 MATLAB语言概述 第二章 MATLAB的基本语法第三章 MATLAB的开发环境和工具 第四章 基本部分的其他函数库对于线性代数课程而言,主要是第二章中的第1(矩阵赋值)、2(矩阵运算)、5(绘图)三节。MATLAB语言的特点 MATLAB是”矩 阵 实 验 室”(MATrix L
11、ABoratory)的缩写,是以矩阵运算为基础的交互式程序语言。其主要特点是:1 起点高2人机界面适合科技人员3 强大而简易的作图功能4 智能化程度高5 功能丰富,可扩展性强MATLAB语言的特点1 起点高起点高()每个变量代表一个矩阵,每个矩阵,可以有nm个元素。()每个元素都看作复数;()所有的运算都对矩阵和复数有效。MATLAB语言的特点2 2人机界面适合科技人员人机界面适合科技人员 (1)语言规则与笔算式相似:易写易读。(2)矩阵行数列数无需定义:(3)键入算式立即得结果,无需编译:有错误也会立即作出反应。因为MATLAB是以解释方式工作的。MATLAB语言的特点3 强大而简易的作图功
12、能强大而简易的作图功能()能根椐输入数据自动确定座标绘图;()能规定多种座标系(极座标,对数座标等);()能绘制三维座标中的曲线和曲面()可设置不同颜色、线型、视角等。如果数据齐全,通常只需一条命令即可出图 MATLAB语言的特点4 智能化程度高智能化程度高()绘图时自动选择最佳座标以及自动定义矩阵维数;()作数值积分时自动按精度选择步长;()自动检测和显示程序错误的能力强,易于调试。MATLAB语言的特点55功能丰富功能丰富,可扩展性强可扩展性强 MATLAB包括基本部分和专业扩展两部分:基本部分包括:矩阵的运算和各种变换;代数和超越方程的求解,数据处理和付立叶变换,数值积分等等,可以充分满
13、足大学理工科本科的计算需要。它本身包括21个程序库,见表1.2。本书将介绍这部分的主要内容。第二章第二章 基本语法基本语法2.1 2.1 变量及其赋值变量及其赋值2.2 2.2 矩阵的初等运算矩阵的初等运算 2.3 2.3 元素群运算元素群运算 2.4 2.4 逻辑判断与流程控制逻辑判断与流程控制2.5 2.5 基本绘图方法基本绘图方法2.6 M2.6 M文件及程序调试文件及程序调试变量及其赋值(1)标识符与数(2)矩阵及其元素的赋值(3)复数(4)变量检查(5)基本赋值矩阵一。标识符与数一。标识符与数标识符:标识符是标志变量名、常量名、函数名和文件名的字符串的总称。MATLAB中的中的标识符
14、最长允许19个字符,合法字符是52个英文字母(大小写看成不同字符)、10个数字和下划线。第一个字符必须是英文字母.MATLAB中的数中的数MATLAB中的实数只有一种数据格式,那就是双精度(即64位二进制或8 8个字节个字节),它的有效值是十进制16位,动态范围是10的308次幂。2.225110 3081.797710+308 数的存储和运算全按同一格式进行,使编程简单,减少差错,改善人机交互,付出代价是内存空间和运行速度,形成MATLAB的一大特色。数的八种显示格式MATLAB 命令显 示 形 式说 明 format long3.1415926535897916位十进制数 format s
15、hort e3.1416e+0005位十进制数加指数 format long e 3.14159265358979e+016位十进制加指数 format hox400921fb54442d1816位十六进制数 format bank3.14两位小数 format+正、负或零 format rat 355/113 有理数分数近似format short (默认)3.1416二位整数,四位小数 二。矩阵及其元素的赋值二。矩阵及其元素的赋值 格式1:变量表达式(或常量)格式2:表达式表达式中的运算符有:加(+)、减(-)、乘(*)、左除()、右除(/)、指数()、共軛转置()、矩阵()等。表达式的结
16、尾标点:若为分号;,不显示;若为逗号,或直接回车,显示运算结果。三。复数三。复数虚数符号MATLAB启动时定为i,j,可以不用乘号,连写在数字后面。如果用户在程序中另外給i,j赋值,则它们的虚数意义就失效。conj(x)表示共軛,即把x的虚部反号。是共軛转置运算符,对实矩阵把行号与列号交换,对复矩阵除行列交换外,还要把矩阵元素取共軛。四。变量检查四。变量检查变量检查命令who,whos打开工作空间视窗在检查中不显示内部变量eps,realmax,realmin,pii,j,inf,NaN五。特殊矩阵赋值函数zeros(n,m)全零矩阵(nm阶)ones(n,m)全么矩阵(nm阶)rand(n,
17、m)随机数矩阵(nm阶)randn(n,m)正态随机数矩阵(nm阶)eye(n)单位矩阵(nn方阵)linspace(xs,xf,N)均分向量(1N阶数组)矩阵组合与显示矩阵组合与显示大矩阵可由若干个小矩阵组成,但必须其行列数正确,恰好填满全部元素。一个矩阵中所有元素用同一显示格式。有一个是小数则都用小数;当矩阵中的最大元素小于0.001,或其最小元素大于1000时,MATLAB会把其公因子提出来。元素大小差别很大时,不宜用矩阵显示。2.2 2.2 矩阵的初等运算矩阵的初等运算(1)矩阵数值的表示方法;(2)矩阵的加减乘法;(3)矩阵的除法和线性方程解;(4)矩阵的乘方和超越函数;矩阵的加减法
18、矩阵的加减法两矩阵进行加减的条件是其行数和列两矩阵进行加减的条件是其行数和列数相同,简称阶次相同,矩阵的加减数相同,简称阶次相同,矩阵的加减即其对应元素的加减。即其对应元素的加减。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的行数,简称内
19、阶数相同。设的行数,简称内阶数相同。设矩阵矩阵A 为为np阶,矩阵阶,矩阵B为为pm阶,阶,则则C是是nm阶。阶。内阶数不同的矩阵不内阶数不同的矩阵不能相乘。能相乘。不符合交换律:不符合交换律:A*BB*A,左乘不,左乘不等于右乘;等于右乘;若一个变量是标量,则按标量乘法。若一个变量是标量,则按标量乘法。矩阵除法线性方程组线性方程组D*X=BD*X=B,如果,如果D D非奇异,即非奇异,即它的逆矩阵它的逆矩阵inv(D)inv(D)存在;存在;则其解用则其解用MATLABMATLAB表为表为 :X=inv(D)*B=DB X=inv(D)*B=DB符号符号称为左除,即分母放在左边。称为左除,即
20、分母放在左边。左除的条件:左除的条件:B B的行数等于的行数等于D D的阶数的阶数(D(D的行数和列数相同,简称阶数)的行数和列数相同,简称阶数)矩阵右除若方程组表为为若方程组表为为X*D1=B1X*D1=B1,D1D1非奇异,即非奇异,即它的逆阵它的逆阵inv(D1)inv(D1)存在。存在。则其解为则其解为X=B1*inv(D1)=B1/D1X=B1*inv(D1)=B1/D1符号符号/称为右除。称为右除。右除的条件:右除的条件:B1B1的列数等于的列数等于D D的阶数的阶数(D(D的的行数和列数相同,简称阶数)行数和列数相同,简称阶数)线性方程组表为矩阵相乘 x1+2 x2+3 x3=2
21、3 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.3 2.3 元素群运算元素群运
22、算 数组及其赋值 元素群的四则运算 元素群的幂次运算 元素群的函数元素群运算能大大简化编程,提高运算的效率,是MATLAB优于其他许多语言的一个特色。一。数组及其赋值一。数组及其赋值数组通常是指单行或单列的矩阵,也称为向量。其赋值方法:(1)x=初值:增量:终值(2)线性分割函数 x=linspace(起点,终点,点数)(3)对数分割函数logspace(起点对数,终点对数,点数)二。元素群的四则和幂次运算二。元素群的四则和幂次运算元素群运算:就是把两矩阵按逐个元素进行运算。为了与矩阵作为整体的运算符号相区别,要在运算符“*、”前加一点符号“”。元素群运算的英文原文是数组运算(Array Al
23、gorithm),实际上它适用于任何阶的矩阵,故取名元素群运算更为确切。三。元素群的函数运算三。元素群的函数运算所有的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)最
24、后一个变元前一个符号为线型(点型)后一个字母表示颜色线型、点型和颜色表表211 线型、点型和颜色线型、点型和颜色标志符颜色标志符线型和点型y黄.点m品红o 圆圈c 青 x x号r 红 +号g 绿 -实线b 兰 *星号w 白 :虚线k 黑 -.点划线 -长划线三维曲线空间曲线绘制空间曲线的参数方程: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等这些将在用到时作介绍。