280 likes | 428 Views
欢迎您来到 《 线性代数 》 实验室!. 在这里,抽象的数学已经成为一门生动的“实验科学”,从实际问题出发,借助计算机,你可以亲自设计、亲自动手,去体验解决问题的过程,从实验中去学习、探索和发现数学规律。. 线性代数实验课. 南通职业大学基础课部 2000 年 10 月. 课程目录. 实验一 第一章 进入线性代数实验室 — 准备实验 实验二 第二章 矩阵运算 实验三 第三章 线性方程组 实验四 第四章 特征值和特征向量 实验五 第五章 MATLAB 的命令窗口. 实验一.
E N D
欢迎您来到《线性代数》实验室! 在这里,抽象的数学已经成为一门生动的“实验科学”,从实际问题出发,借助计算机,你可以亲自设计、亲自动手,去体验解决问题的过程,从实验中去学习、探索和发现数学规律。
线性代数实验课 南通职业大学基础课部 2000年10月
课程目录 • 实验一 第一章 进入线性代数实验室 • —准备实验 • 实验二 第二章 矩阵运算 • 实验三 第三章 线性方程组 • 实验四 第四章 特征值和特征向量 • 实验五 第五章 MATLAB的命令窗口
实验一 第一章 进入线性代数实验室 —准备实验
第一节 数学实验的方法 与数学教学内容相结合,进行数学实验,对现行的教学方法进行改革,是当前数学教改的一个重要内容。 数学这门学科由于其自身的特性,要想达到像化学和物理那样进行实验是比较困难的,但是可以根据它的特征,改进学习方法,加进新的内容,特别是用现代化的学习工具,帮助我们加快掌握这门学科知识。计算机科学的发展,为学习数学提供了一个科学的现代化的环境,把计算机引入到数学学习中,使用计算机进行数学运算,就能提高数学学习的效率。我们将这种用计算机借助于数学软件代替纸和笔以及人的部分脑力劳动进行数学学习的手段称作数学实验。 本实验课我们所选用的软件是MATLAB。用于数学实验的MATLAB软件有其独特的功能,简单的问题只要按规则输入表达式就可以直接得到结果,复杂的问题也可以用软件提供的语言编写程序完成,这种程序设计语言简单且容易掌握。 当然,我们也应认识到计算机只是纸和笔的延伸,计算机是数学探索的工具,计算机提供对抽象概念的直观感受。数学实验课不是计算机程序课,数学思维是目的,计算机的使用只是手段。
第二节 数学实验的内容 在教学内容的选择上,将线性代数实验室作为线性代数的辅助课程,教学内容互补,不重复线性代数课程讲述的基本内容,而是让学生了解几种数学软件的基本使用方法,对线性代数课程所讲述内容通过数学实验去完成。 主要介绍利用MATLAB软件完成线性代数运算的方法,包括求行列式的值,进行向量和矩阵运算,求逆矩阵、特征值和特征向量,求解线性方程组等。 数学实验所用MATLAB软件提供了程序设计的功能,与其它程序设计语言一样,可以编写应用程序解决复杂的问题。数学实验的程序设计语言简单明了,它是以求解单一问题的语句为主,通过人机对话的形式,在屏幕上显示所求的结果,把这样的语句通过控制语句和连接语句按顺序结合成一个整体,就生成了程序。它可以进行数值计算、符号演算和图形描绘。
第三节 准备实验 实验目的 本实验的目的是使学生对 MATLAB软件有一个初步了解。 实验工具 MATLAB是一种高效的科研编程的软件环境,它拥有自己的特定语言,了解和掌握MATLAB语言,能扩展MATLAB 的能力。 MATLAB是我们线性代数实验室中的实验平台,线性代数实验室中的大部分计算都需要使用MATLAB辅助完成。 一. 进入MATLAB 在Window98环境下,双击“开始”按钮的程序里的选项(如果已经在Window98的桌面上建立了快捷方式,则双击MATLAB图标),即可进入MATLAB系统。这时,屏幕上会显示一个启动画面,片刻之后,出现一个工作屏幕(命令窗口)。
二. MATLAB命令窗口简介 命令窗口中,最上面显示“MATLAB Command Window” 字样的一栏为标题栏,标题栏的右边依次为窗口最小 化按钮、窗口缩放按钮和关闭窗口按钮。标题栏下面的菜单栏包含 “File(文件)”、“Edit(编辑)”、“Window(窗口)”、“Help(帮助)”四项。菜单栏下面的工具栏显示了九个工具按钮,各按钮相当于菜单栏中各选项命令,熟练使用工具按钮可使工作更快捷、更方便(详见第五章MATLAB的命令窗口)。 在命令窗口中,除标题栏、菜单栏、工具栏以外的窗口,用于输入和显示计算结果,称为命令编辑区。 在启动MATLAB、命令编辑区显示帮助信息后,将显示符号“|”,符号“|”表示MATLAB已准备好,正等待用户输入命令,这时,就可以在提示符“|”后面键入命令,按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。如果在输入命令后再以分号结束,则不会显示结果。
例1.键入: x1=sqrt(5),x2=1.37,y=3/x2 结果显示为: x1=2.2361 x2=1.3700 y=2.1898 在MATLAB的命令窗口里,可用Ctrl+C来终止正在运行的程序。 三. 退出MATLAB 要退出MATLAB系统,可按如下方式进行: 1.在文件菜单(File)中选择“Exit”或“Quit”。 2.用鼠标点击窗口右上角的关闭图标“X”。
四. MATLAB的语言环境 1.常量和变量 在MATLAB中变量名用字符或字符加数字组成, 总长不超过19个字符,如A,FJfj gjglsvnbdnv都是合法的变量名,MATLAB区分大小写,A与a可以是两个不同的变量,在变量名中不能使用括号。应该注意所有的函数名均由小写字母构成。 例2.inv(a)为求矩阵a的逆矩阵。但INV(a)则为未定义的函数。 在MATLAB中的数学常数用特定的标识符来表示: eps表示浮点计算的容许误差为2-52 pi圆周率π Inf表示无穷大 Nan表示一个不定值 2、矩阵运算符 MATLAB中的常量或变量都代表矩阵,标量应看作1x1阶的矩阵。
主要运算有 (1) 转置: A'表示A的转置矩阵。 (2) 加与减: A+B表示矩阵A与B的和; A-B表示矩阵A与B的差。 (3)矩阵乘法: A*B表示矩阵A与B的乘积。当其中一个变量是标量时,K*B=B*K表示标量与矩阵的乘法。 (4) 矩阵除法: 分左除“\”和右除“/”;X=A\B表示AX=B的解;X=A/B表示XA=B的解。 特别地当B为列向量时,X=A\B是线性方程组AX=B的解。如果A是非奇异矩阵,则X=A\B=A-1B。 (5) 矩阵乘方: A^P,当P为正整数时,表示P个A的连乘积。 3、向量运算符 (1) “.*”:表示矩阵A与B对应元素相乘所得的矩阵 (2) “./”和“.\”:表示向量对应元素相除。“./”其中表示A的元素是被除数 (3) “.^”:表示求A元素以B对应元素为指数的值
4、表达式 变量、常量和函数由运算符连接得到算术表达式。 当运算对象是矩阵时,应用矩阵运算符;当运算对 象为数组时则用数组运算符。 通常表达式的值赋给某个变量称为赋值命令语句。赋值命令语句的一般形式为<变量>=<表达式>。但亦可略去<变量>,此时表达式之值自动赋给MATLAB系统指定的变量ans。 例3. 输入: a=[1 2 3 ;4 5 6;7 8 9] 则显示结果为 a= 1 2 3 4 5 6 7 8 9
5、变量的存储 用clear命令可从工作空间中清除现存的变量。 工作空间中的变量可以用save命令存储到磁盘文件中去。键入命令save<文件名>,将工作空间中全部变量存到<文件名>.mat文件中去,若省略<文件名>则存入文件matlab.mat中;命令save<文件名><变量名集>将<变量名集>指出的变量存入文件<文件名>.mat中。 用命令laod可将变量从磁盘文件读入MATLAB的工作空间,其用法为load<文件名>,它将<文件名>指出的磁盘文件中的数据依次读入名称与<文件名>相同的工作空间中的变量中去。若省略<文件名>则matlab.mat从中读入所有数据。
6、变量值的显示 作为运算结果的变量值,在表达式计算后会在屏 幕上显示出来,但在表达式结尾加一个分号“;”,该结果不再显示。 MATLAB以双精度执行所有运算,数据以多种格式显示,当缺省时,显示五位十进制数。显示格式用格式命令指定, 例如: Format long 显示15位有效数字 Format shore e 5位浮点数 Format long e 15位浮点数 7.注释语句 符号“%”引导的行是注释行。 其格式为: % 语句 8.键盘输入语句 格式: input(ˊ提示字ˊ)
9.控制流语句 (1) for 循环语句 for语句使用较为灵活,一般用于循环次数已经 确定的情况。其格式为: for t=表达式1:表达式2:表达式3 语句体 end 其中,表达式1的值为循环的初值,表达式2的值为步长,表达式3的值为循环的终值。如果省略表达式2,则默认步长为1。For语句允许嵌套。在程序里,每一个“for”关键字必须和一个“end”关键字配对,否则出错。
例4. % 计算出1~4的乘法表 for n = 1:4 for m=1:n r(n,m)=m*n ; end end r r= 1 0 0 0 2 4 0 0 3 6 9 0 4 8 12 16
(2) while循环语句 while语句一般用于事先不能确定循环次数的情况。 其格式为: while 表达式 语句体 end 当表达式的值为真时,执行语句体;当表达式的值为假,终止该循环。在while语句的循环中,可用break语句退出循环。 例5. % 给出2000以内的fibnacci数 f(1)=1; f(2)=1; i=1; while f(i)+f(i+1)<2000 f(i+2)=f(i)+f(i+1); i=i+1; end f
(3)if条件语句 if条件语句用于选择结构。其格式有两种情况: 格式一: if 逻辑表达式 语句体 end 格式二: if 逻辑表达式1 语句体1 else 语句体2 end if条件语句可以嵌套使用,但是,必须注意if语句和end语句成对出现。
例6. % 输入数n,判断其正负及奇偶性 MATLAB程序如下: n=input(ˊn=ˊ), if n<=0 A= ˊnegativeˊ, elseif isempty(n)= = 1 A= ˊemptyˊ, break elseif rem(n,2)= =0 A= ˊevenˊ else A= ˊoddˊ end 运行此程序时,程序要求用户输入一个数,它先判断该数是否为负数,再判断它是奇还是偶数,所以它共有三个出口。
例7.输入: while 1 n=input(ˊEnter n,negative quies.ˊ); if n<=0 break,end while n>1 if rem(n,2)==0 n=n/2 else n=3*n+1 end end end.
10.求助提示 格式: Help %可得到HELP文件列表和磁盘上 的各种M文件 Help facility % 给出指定的项的帮助信息 格式: demo % 给出一个表演程序的菜单
五.M文件 1. M文件的建立与存储 在MATLAB命令窗口中选定“File”菜单“New””选项“M-file”即可建立M文件。也可选定Edit菜单建立M文件,选定“Save”选项即可保存文件。删除M文件使用格式:Delete 文件名 2. M文件的编辑与执行 选定MATLAB命令窗口中的“Edit”菜单可利用键盘编辑键对M文件进行全屏幕编辑。M文件以ASCⅡ编码形式存储,在命令窗口中直接键入文件名,就可执行M文件。
3. M文件种类 (1). 命令文件 命令文件没有输入参数,也不返回输出参数,只是一些命令行的组合命令文件可对工作空间中的变量进行操作,也可生成新的变量。即使命令文件运行结束,命令文件产生的变量仍将保留在工作空间中,直到关闭MATLAB或用相关命令删除。下面是一个命令文文件的例子。 例8. % 计算Fibonacci数的一个M文件 f(1)=1;f(2)=1;i=1; while f(i)+f(i+1)<1000 f(i+2)=f(i)+f(i+1); i=i+1; end 在MATLAB提示符下,如键入文件名,则MATLAB会自动执行这一文件中的每条命令,并产生执行结果。
f 1 1 2 3 5 8 13 21 34 55 89 144 233 337 610 987 注意,在命令文件中的变量i及f都将保存在工作区中,这一点与函数文件是截然不同的。 (2).函数文件 函数文件的第一行必须包含关键字function。函数文件与命令文件的区别在于:函数文件可以传递参数,命令文件不具备参数传递功能;在函数文件中定义及使用的变量都是局部变量,只在本函数的工作区内有效,一旦退出该函数,即为无效变量,而命令文件中定义或使用的变量都是全局变量,在退出文件后仍为有效变量。
例9. 函数文件mean.m包含以下语句 function y=mean(x) % MEAN 平均值 % 对于向量,MEAN(x) 返回各分量的平均值 % 对于矩阵,MEAN(x) 是一个行向量,其中各分量是矩阵各列的平均值 [m,n]=size(x); if m= =1 m=n; end y=sum(x)/m; 这个M文件定义了一个新函数,它的引用与其它MATLAB函数一样,其功能是计算向量或矩阵的平均值。 例如输入: z=1:99; m=mean(z) m= 50
关于函数文件,需要说明几点: (1)文件的第一行说明了该函数的名称、输入 参数、输出参数。如果没有这一行的说明,则该文件就是命令文件而不是函数文件。这一行的有无,是区别命令与函数文件的一个重要标志。 (2)文件前面几行由“%”开始的语句构成了M文件的帮助信息。
实验任务 练习一 操作练习 1.启动计算机,进入 MATLAB系统。 2.模仿实验例句,输入一些数学表达式进行计算。 练习二 编辑练习 1.点击文字编辑(Edit)菜单,了解该项菜单的主要功能。 2. 删除、拷贝、粘贴、移动 练习三 文件操作练习 1.点击文件操作(File)菜单,了解该项菜单的主要功能。 练习四 编程练习 1. 熟悉for 循环语句、 while循环语句、if条件语句
真诚地希望《数学实验室》让你增长见识,增长才干,使你对数学有了新的认识和体会。真诚地希望《数学实验室》让你增长见识,增长才干,使你对数学有了新的认识和体会。 • 希望《数学实验室》给你留下难忘的回忆,使你不枉此行。 • 《数学实验室》期待着你能带着你亲自碰到的难题再次光临!