欢迎您来到 《 线性代数 》 实验室!

28
欢欢欢欢欢 欢欢欢欢欢欢欢欢欢 《》 在在在 在在在在在在在在在 在在在在“在在在在”在 ,一 在在在在在在在 在在在在在在 在在在在在在在在 在在在在在 在 ,,、, 在在在在在在在在在 在在在在在在在在 在在在在在在在在在在 体,、。

Upload: sienna

Post on 19-Mar-2016

153 views

Category:

Documents


5 download

DESCRIPTION

欢迎您来到 《 线性代数 》 实验室!. 在这里,抽象的数学已经成为一门生动的“实验科学”,从实际问题出发,借助计算机,你可以亲自设计、亲自动手,去体验解决问题的过程,从实验中去学习、探索和发现数学规律。. 线性代数实验课. 南通职业大学基础课部 2000 年 10 月. 课程目录. 实验一 第一章 进入线性代数实验室 — 准备实验 实验二 第二章 矩阵运算 实验三 第三章 线性方程组 实验四 第四章 特征值和特征向量 实验五 第五章 MATLAB 的命令窗口. 实验一. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 欢迎您来到 《 线性代数 》 实验室!

• 欢迎您来到《线性代数》实验室!

在这里,抽象的数学已经成为一门生动的“实验科学”,从实际问题出发,借助计算机,你可以亲自设计、亲自动手,去体验解决问题的过程,从实验中去学习、探索和发现数学规律。

Page 2: 欢迎您来到 《 线性代数 》 实验室!

线性代数实验课线性代数实验课南通职业大学基础课部 2000 年 10 月

Page 3: 欢迎您来到 《 线性代数 》 实验室!

课程目录课程目录•实验一 第一章 进入线性代数实验室 — 准备实验•实验二 第二章 矩阵运算•实验三 第三章 线性方程组•实验四 第四章 特征值和特征向量•实验五 第五章 MATLAB 的命令窗口

Page 4: 欢迎您来到 《 线性代数 》 实验室!

第一章 进入线性代数实验室—准备实验

•实验一实验一

Page 5: 欢迎您来到 《 线性代数 》 实验室!

第一节 数学实验的方法第一节 数学实验的方法 与数学教学内容相结合,进行数学实验,对现行的教学方法进行改革,是当前数学教改的一个重要内容。 数学这门学科由于其自身的特性,要想达到像化学和物理那样进行实验是比较困难的,但是可以根据它的特征,改进学习方法,加进新的内容,特别是用现代化的学习工具,帮助我们加快掌握这门学科知识。计算机科学的发展,为学习数学提供了一个科学的现代化的环境,把计算机引入到数学学习中,使用计算机进行数学运算,就能提高数学学习的效率。我们将这种用计算机借助于数学软件代替纸和笔以及人的部分脑力劳动进行数学学习的手段称作数学实验。 本实验课我们所选用的软件是 MATLAB 。用于数学实验的 MATLAB 软件有其独特的功能,简单的问题只要按规则输入表达式就可以直接得到结果,复杂的问题也可以用软件提供的语言编写程序完成,这种程序设计语言简单且容易掌握。 当然 , 我们也应认识到计算机只是纸和笔的延伸,计算机是数学探索的工具,计算机提供对抽象概念的直观感受。数学实验课不是计算机程序课,数学思维是目的,计算机的使用只是手段。

Page 6: 欢迎您来到 《 线性代数 》 实验室!

第二节 数学实验的内容第二节 数学实验的内容 在教学内容的选择上,将线性代数实验室作为线性代数的辅助课程,教学内容互补,不重复线性代数课程讲述的基本内容,而是让学生了解几种数学软件的基本使用方法,对线性代数课程所讲述内容通过数学实验去完成。 主要介绍利用 MATLAB 软件完成线性代数运算的方法,包括求行列式的值,进行向量和矩阵运算,求逆矩阵、特征值和特征向量,求解线性方程组等。 数学实验所用 MATLAB 软件提供了程序设计的功能,与其它程序设计语言一样,可以编写应用程序解决复杂的问题。数学实验的程序设计语言简单明了,它是以求解单一问题的语句为主,通过人机对话的形式,在屏幕上显示所求的结果,把这样的语句通过控制语句和连接语句按顺序结合成一个整体,就生成了程序。它可以进行数值计算、符号演算和图形描绘。

Page 7: 欢迎您来到 《 线性代数 》 实验室!

第三节 准备实验第三节 准备实验 实验目的 本实验的目的是使学生对 MATLAB 软件有一个初步了解。

实验工具 MATLAB 是一种高效的科研编程的软件环境,它拥有自己的特定语言,了解和掌握 MATLAB 语言,能扩展 MATLAB 的能力。 MATLAB 是我们线性代数实验室中的实验平台,线性代数实验室中的大部分计算都需要使用 MATLAB 辅助完成。 一一 . . 进入进入 MATLABMATLAB 在 Window98 环境下 , 双击“开始”按钮的程序里的选项 ( 如果已经在 Window98 的桌面上建立了快捷方式 , 则双击 MATLAB 图标 ), 即可进入 MATLAB 系统。这时,屏幕上会显示一个启动画面,片刻之后,出现一个工作屏幕(命令窗口)。

Page 8: 欢迎您来到 《 线性代数 》 实验室!

二二 . MATLAB. MATLAB 命令窗口简介命令窗口简介 命令窗口中 , 最上面显示“ MATLAB Command Window”字样的一栏为标题栏 , 标题栏的右边依次为窗口最小化按钮、窗口缩放按钮和关闭窗口按钮。标题栏下面的菜单栏包含“File (文件)”、“ Edit (编辑)”、“ Window (窗口)”、“ Help (帮助)”四项。菜单栏下面的工具栏显示了九个工具按钮,各按钮相当于菜单栏中各选项命令,熟练使用工具按钮可使工作更快捷、更方便(详见第五章 MATLAB 的命令窗口)。 在命令窗口中,除标题栏、菜单栏、工具栏以外的窗口,用于输入和显示计算结果,称为命令编辑区。 在启动MATLAB “、命令编辑区显示帮助信息后,将显示符号 |”,

“符号 |”表示MATLAB已准备好,正等待用户输入命令,这时,就可“以在提示符 |”后面键入命令,按下回车键后,MATLAB就会解释执

行所输入的命令,并在命令后面给出计算结果。如果在输入命令后再以 分号结束,则不会显示结果。

Page 9: 欢迎您来到 《 线性代数 》 实验室!

要退出 MATLAB 系统 , 可按如下方式进行: 1. 在文件菜单 (File) 中选择“ Exit” 或“ Quit” 。 2. 用鼠标点击窗口右上角的关闭图标“ X” 。

在MATLAB的命令窗口里,可用 Ctrl+C来终止正在运行的程序。 三 . 退出 MATLAB

x1=sqrt(5),x2=1.37,y=3/x2结果显示为: x1=2.2361 x2=1.3700 y=2.1898

例 1. 键入:

Page 10: 欢迎您来到 《 线性代数 》 实验室!

四四 . . MATLABMATLAB 的语言环境的语言环境 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 阶的矩阵。

Page 11: 欢迎您来到 《 线性代数 》 实验室!

主要运算有主要运算有(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 对应元素为指数的值

Page 12: 欢迎您来到 《 线性代数 》 实验室!

44 、表达式、表达式 变量、常量和函数由运算符连接得到算术表达式。当运算对象是矩阵时,应用矩阵运算符;当运算对象为数组时则用数组运算符。 通常表达式的值赋给某个变量称为赋值命令语句。赋值命令语句的一般形式为<变量>=<表达式>。但亦可略去<变量>,此时表达式之值自动赋给 MATLAB系统指定的变量 ans 。 例 3. 输入: a=[1 2 3 ; 4 5 6 ; 7 8 9]则显示结果为 a= 1 2 3 4 5 6 7 8 9

Page 13: 欢迎您来到 《 线性代数 》 实验室!

55 、变量的存储、变量的存储 用 clear 命令可从工作空间中清除现存的变量。 工作空间中的变量可以用 save 命令存储到磁盘文件中去。键入命令 save <文件名>,将工作空间中全部变量存到<文件名> .mat 文件中去,若省略<文件名>则存入文件 matlab.mat 中;命令 save <文件名><变量名集>将<变量名集>指出的变量存入文件<文件名> .mat中。 用命令 laod 可将变量从磁盘文件读入 MATLAB 的工作空间,其用法为 load <文件名 > ,它将<文件名>指出的磁盘文件中的数据依次读入名称与<文件名>相同的工作空间中的变量中去。若省略<文件名>则 matlab.

mat 从中读入所有数据。

Page 14: 欢迎您来到 《 线性代数 》 实验室!

66 、变量值的显示、变量值的显示 作为运算结果的变量值,在表达式计算后会在屏幕上显示出来,但在表达式结尾加一个分号“;”,该结果不再显示。 MATLAB 以双精度执行所有运算 , 数据以多种格式显示,当缺省时 , 显示五位十进制数。显示格式用格式命令指定,例如: Format long 显示 15 位有效数字 Format shore e 5 位浮点数 Format long e 15 位浮点数 7 . 注释语句符号“%”引导的行是注释行。其格式为: % 语句 8 . 键盘输入语句 格式: input(ˊ 提示字ˊ )

Page 15: 欢迎您来到 《 线性代数 》 实验室!

9.控制流语句9.控制流语句 (1) for 循环语句 for 语句使用较为灵活,一般用于循环次数已经确定的情况。其格式为: for t= 表达式 1 :表达式 2 :表达式 3 语句体 end 其中,表达式1的值为循环的初值,表达式 2 的值为步长,表达式 3 的值为循环的终值。如果省略表达式 2 ,则默认步长为 1 。 For 语句允许嵌套。在程序里,每一个“for” 关键字必须和一个“ end” 关键字配对,否则出错。

Page 16: 欢迎您来到 《 线性代数 》 实验室!

例例 4. 4. % % 计算出计算出 11 ~~ 44 的乘法表的乘法表 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

Page 17: 欢迎您来到 《 线性代数 》 实验室!

(2) while(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

Page 18: 欢迎您来到 《 线性代数 》 实验室!

(( 33 )) ifif 条件语句条件语句 if 条件语句用于选择结构。其格式有两种情况: 格式一: if 逻辑表达式 语句体 end 格式二: if 逻辑表达式 1 语句体 1 else 语句体 2 end if 条件语句可以嵌套使用,但是,必须注意 if 语句和 end 语句成对出现。

Page 19: 欢迎您来到 《 线性代数 》 实验室!

例例 6. % 6. % 输入数输入数 n,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运行此程序时,程序要求用户输入一个数,它先判断该数是否为负数,再判断它是奇还是偶数,所以它共有三个出口。

Page 20: 欢迎您来到 《 线性代数 》 实验室!

例例 7.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.

Page 21: 欢迎您来到 《 线性代数 》 实验室!

1010 .. 求助提示求助提示

格式: H elp % 可得到 HELP 文件列表和磁盘上 的各种M文件 H elp facility % 给出指定的项的帮助信息 格式: demo % 给出一个表演程序的菜单

Page 22: 欢迎您来到 《 线性代数 》 实验室!

五五 .M.M 文件文件 1. M 文件的建立与存储 在 MATLAB 命令窗口中选定“ File” 菜单“ New””选项“ M-file” 即可建立 M 文件。也可选定 Edit 菜单建立 M 文件,选定“ Save” 选项即可保存文件。删除M 文件使用格式: Delete 文件名 2. M 文件的编辑与执行 选定 MATLAB 命令窗口中的“ Edit” 菜单可利用键盘编辑键对 M 文件进行全屏幕编辑。 M 文件以 ASCⅡ编码形式存储,在命令窗口中直接键入文件名,就可执行 M 文件。

Page 23: 欢迎您来到 《 线性代数 》 实验室!

3. M3. 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 会自动执行这一文件中的每条命令,并产生执行结果。

Page 24: 欢迎您来到 《 线性代数 》 实验室!

ff

1 1 2 3 5 8 13 21 34 55 89 144 233 337 610 987 注意,在命令文件中的变量 i 及 f 都将保存在工作区中,这一点与函数文件是截然不同的。 (2). 函数文件 函数文件的第一行必须包含关键字 function。函数文件与命令文件的区别在于:函数文件可以传递参数,命令文件不具备参数传递功能;在函数文件中定义及使用的变量都是局部变量,只在本函数的工作区内有效,一旦退出该函数,即为无效变量,而命令文件中定义或使用的变量都是全局变量,在退出文件后仍为有效变量。

Page 25: 欢迎您来到 《 线性代数 》 实验室!

例例 9. 9. 函数文件函数文件 mean.mmean.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

Page 26: 欢迎您来到 《 线性代数 》 实验室!

关于函数文件,需要说明几点:关于函数文件,需要说明几点: (1) 文件的第一行说明了该函数的名称、输入参数、输出参数。如果没有这一行的说明,则该文件就是

命令文件而不是函数文件。这一行的有无,是区别命令与函数文件的一个重要标志。

(2) 文件前面几行由“%”开始的语句构成了 M 文件的帮助信息。

Page 27: 欢迎您来到 《 线性代数 》 实验室!

实验任务实验任务 练习一 操作练习 1. 启动计算机,进入 MATLAB 系统。 2.模仿实验例句 , 输入一些数学表达式进行计算。 练习二 编辑练习 1. 点击文字编辑 (Edit) 菜单 , 了解该项菜单的主要功能。 2. 删除、拷贝、粘贴、移动 练习三 文件操作练习 1. 点击文件操作 (File) 菜单 , 了解该项菜单的主要功能。 练习四 编程练习 1. 熟悉 for 循环语句、 while 循环语句、 if 条件语句

Page 28: 欢迎您来到 《 线性代数 》 实验室!

• 真诚地希望《数学实验室》让你增长见识,增长才干,使你对数学有了新的认识和体会。• 希望《数学实验室》给你留下难忘的回忆,使你不枉此行。• 《数学实验室》期待着你能带着你亲自碰到的难题再次光临!