高等代数实验ppt课件

上传人:博****1 文档编号:588463996 上传时间:2024-09-08 格式:PPT 页数:121 大小:729KB
返回 下载 相关 举报
高等代数实验ppt课件_第1页
第1页 / 共121页
高等代数实验ppt课件_第2页
第2页 / 共121页
高等代数实验ppt课件_第3页
第3页 / 共121页
高等代数实验ppt课件_第4页
第4页 / 共121页
高等代数实验ppt课件_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《高等代数实验ppt课件》由会员分享,可在线阅读,更多相关《高等代数实验ppt课件(121页珍藏版)》请在金锄头文库上搜索。

1、四川文理学院数财系高等代数高等代数高等代数高等代数实验实验高等代数实验四川文理学院数财系高等代数高等代数高等代数高等代数实验实验预备实验 MATLAB运用练习四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 MATLAB是MATrix LABoratory的缩写,它将计算、可视化和编程功能集成在非常便于运用的环境中,是一个交互式的、以矩阵计算为根底的科学和工程计算软件。MATLAB的特点可以简要地归纳如下:四川文理学院数财系高等代数高等代数高等代数高等代数实验实验编程效率高编程效率高 与与Fortran、C等言语相比,等言语相比,它更接近我们通常进展计算时的思想方它更接近我们通常进展

2、计算时的思想方法,用它编程犹如在纸上书写计算公式,法,用它编程犹如在纸上书写计算公式,编程时间和程序量大大减少。编程时间和程序量大大减少。计算功能强计算功能强 它以不用指定维数的矩阵和它以不用指定维数的矩阵和数组作为主要数据对象,矩阵和向量计数组作为主要数据对象,矩阵和向量计算功能特别强,库函数也很丰富,非常算功能特别强,库函数也很丰富,非常适用于科学和工程计算。适用于科学和工程计算。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验运用简便运用简便 其言语灵敏、方便,将编译、衔接、其言语灵敏、方便,将编译、衔接、执行融为一体,在同一画面上排除书写、语法执行融为一体,在同一画面上排除书

3、写、语法等错误,加快了用户编写、修正、调试程序的等错误,加快了用户编写、修正、调试程序的速度,计算结果也用人们非常熟习的数学符号速度,计算结果也用人们非常熟习的数学符号表示出来。具有初步计算机知识的人几个小时表示出来。具有初步计算机知识的人几个小时就可以根本掌握它。就可以根本掌握它。易于扩展易于扩展 用户根据需求建立的文件可以与库用户根据需求建立的文件可以与库函数一样被调用,从而提高了运用效率,扩展函数一样被调用,从而提高了运用效率,扩展了计算功能,它还可以与了计算功能,它还可以与Fortran、C言语子程言语子程序混合编程。序混合编程。四川文理学院数财系高等代数高等代数高等代数高等代数实验实

4、验 此外,它还有很方便的绘图功能。 为理处理各种特殊的科学和工程计算问题,MATLAB系统提供了许多个工具箱,如优化工具箱、统计工具箱和符号运算工具箱等。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验1 概述概述1.1 1.1 数据数据数据数据术语术语1 1矩矩矩矩阵阵:由:由:由:由mnmn个数个数个数个数组组成的排成成的排成成的排成成的排成mm行行行行n n列的一个矩形的数列的一个矩形的数列的一个矩形的数列的一个矩形的数表,其中表,其中表,其中表,其中0000矩矩矩矩阵为阵为空矩空矩空矩空矩阵阵()()。数表中第。数表中第。数表中第。数表中第i(1im)i(1im)行第行第行第

5、行第j(1jn)j(1jn)列的数据称列的数据称列的数据称列的数据称为为矩矩矩矩阵阵元素元素元素元素 2 2标标量量量量 :1111的矩的矩的矩的矩阵阵,即,即,即,即为为只含一个数的矩只含一个数的矩只含一个数的矩只含一个数的矩阵阵。3 3向量:向量:向量:向量:1n1n或或或或n1n1的矩的矩的矩的矩阵阵,即只需一行的或者一列的矩,即只需一行的或者一列的矩,即只需一行的或者一列的矩,即只需一行的或者一列的矩阵阵。只需一行的矩。只需一行的矩。只需一行的矩。只需一行的矩阵阵称称称称为为行向量,只需一列的矩行向量,只需一列的矩行向量,只需一列的矩行向量,只需一列的矩阵阵称称称称为为列向量。数表中第

6、列向量。数表中第列向量。数表中第列向量。数表中第i(1in)i(1in)个数据称个数据称个数据称个数据称为为向量元素。向量元素。向量元素。向量元素。4 4数数数数组组:矩:矩:矩:矩阵阵的延伸,普通指多的延伸,普通指多的延伸,普通指多的延伸,普通指多维维数数数数组组,其中,其中,其中,其中标标量、向量、向量、向量、向量和矩量和矩量和矩量和矩阵阵都是数都是数都是数都是数组组的特例。的特例。的特例。的特例。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验1.2 数据数据类型型数据数据类型包括数型包括数值型、字符串型、元胞型、构架型、字符串型、元胞型、构架型等。数型等。数值型有型有单精度型

7、、双精度型和整数型。精度型、双精度型和整数型。整数型有整数型有uint8,uint16,uint32和和uint64等无符号等无符号型和型和int8,int16,int32和和int64等符号型整数。等符号型整数。数数值型数据可以用型数据可以用带小数点的方式和科学小数点的方式和科学计数法数法表示,数表示,数值的表示范的表示范围是是10-30910+309。-20、1.25、2.88e-56(表示表示2.8810-56)、7.68e204(表示表示7.6810204) 都是合法的数据表示。都是合法的数据表示。普通在普通在计算算时采用双精度型,在采用双精度型,在输出出时有多种数有多种数值显示格式可

8、供示格式可供选择。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验数值显示格式的设置经过数值显示格式的设置经过format format 命令,命令, 格式如下:格式如下:format short format short 默许设置,以默许设置,以5 5位数字方式输出位数字方式输出 format long format long 以以1515位十进制数方式输出位十进制数方式输出format short e format short e 以以5 5位十进制数加指数方式输出位十进制数加指数方式输出format long e format long e 以以1616位十进制数加指数方式输出

9、位十进制数加指数方式输出format short g format short g 从从format shortformat short和和format short format short e e 中自动选中自动选择最正确输出方式择最正确输出方式四川文理学院数财系高等代数高等代数高等代数高等代数实验实验format long g format long g 从从format longformat long和和format long eformat long e 中自动选择最中自动选择最正确输出方式正确输出方式format hexformat hex 以以1616位十六进制数方式输出位十六进制

10、数方式输出format +format + 以正号、负号和零方式输出以正号、负号和零方式输出format bankformat bank 以两位小数方式输出以两位小数方式输出format ratformat rat 以近似分数方式输出以近似分数方式输出format loose format loose 以稀疏格式变量与执行结果之以稀疏格式变量与执行结果之 间有空行输出间有空行输出 format compact format compact 以紧凑格式变量与执行结果之以紧凑格式变量与执行结果之 间无空行输出间无空行输出四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2 变变量量2.1变

11、量的命名变量的命名变量的命名规那么为变量的命名规那么为:1 变量名必需以字母开头,变量名的组成可以是恣意字母、变量名必需以字母开头,变量名的组成可以是恣意字母、数字或者下划线,但不能含有空格和标点符号。数字或者下划线,但不能含有空格和标点符号。2 关键字和函数名不能作为变量名。关键字和函数名不能作为变量名。3 变量名不能超越变量名不能超越63个字符。个字符。4 变量名区分字母的大小写变量名区分字母的大小写,即大小写敏感。即大小写敏感。 大小写能否区分可以经过命令大小写能否区分可以经过命令casesen on/off进展切换进展切换假设不区分大小写,为假设不区分大小写,为casesen off

12、,否那么为否那么为casesen on。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2.2变量的赋值变量的赋值变量的赋值通常有两种方式:变量的赋值通常有两种方式: 1 变量变量=表达式表达式 2 表达式表达式其中表达式是用运算符将有关运算量衔接其中表达式是用运算符将有关运算量衔接起来的式子,其结果是一个数组。起来的式子,其结果是一个数组。方式方式1中,中,= 代表的是赋值操作,将表达式代表的是赋值操作,将表达式的值赋给的值赋给MATLAB的变量;方式的变量;方式2中,将中,将表达式的值赋给表达式的值赋给MATLAB的暂时变量的暂时变量ans。四川文理学院数财系高等代数高等代数高等

13、代数高等代数实验实验例例例例2-1 2-1 2-1 2-1 在命令窗口输入下述语句,并按回车键执在命令窗口输入下述语句,并按回车键执在命令窗口输入下述语句,并按回车键执在命令窗口输入下述语句,并按回车键执行,分别给变量行,分别给变量行,分别给变量行,分别给变量a a a a、b b b b、c c c c赋值:赋值:赋值:赋值: a=1% a为标为标量量b=0 1 % b为为行向量行向量c=1 2;3 4;5 6 % c为为矩矩阵阵即即二二维维数数组组四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2.3 特殊特殊变量量eps MATLAB定定义的正的极小的正的极小值2.2204e-

14、16Realmax 最大的正最大的正实数数1.7977e+308Realmin 最小的正最小的正实数数2.2251e-308Pi 内建的内建的值i, j 虚数虚数单位位i=j=-1Inf NaN 无法定无法定义一个数目一个数目 Nargin 函数函数输入参数个数入参数个数Nargout 函数函数输出参数个数出参数个数Flops 浮点运算次数浮点运算次数四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2.4内存变量的管理内存变量的管理1 内存变量的显示与删除内存变量的显示与删除1who 用于显示在用于显示在MATLAB任务空间中已任务空间中已 经驻留的变量名清单。经驻留的变量名清单。2

15、whos 在给出变量名的同时,还给出它们在给出变量名的同时,还给出它们 的大小、所占字节数及数据类型等的大小、所占字节数及数据类型等 信息。信息。3clear 删除删除MATLAB任务空间中的变量。注任务空间中的变量。注 意,特殊变量不能被删除。意,特殊变量不能被删除。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-2 2-2 查询例查询例2-12-1中语句执行后任务空间中中语句执行后任务空间中 的变量情况。的变量情况。在命令窗口输入在命令窗口输入 who who执行结果为:执行结果为: Your variables are: Your variables are: a b

16、c a b c在命令窗口输入在命令窗口输入 whos whos执行结果为:执行结果为:Name Size Bytes ClassName Size Bytes Class a 1x1 8 double array a 1x1 8 double array b 1x2 16 double array b 1x2 16 double array c 3x2 48 double array c 3x2 48 double arrayGrand total is 10 elements using 72 bytesGrand total is 10 elements using 72 bytes四川文

17、理学院数财系高等代数高等代数高等代数高等代数实验实验2 2 任务空间阅读器任务空间阅读器任务空间阅读器窗口用于显示一切任务空间阅读器窗口用于显示一切MATLABMATLAB任务任务空间中的变量名、数据构造、类型、大小和空间中的变量名、数据构造、类型、大小和字节数,也可以对变量进展察看、编辑、提字节数,也可以对变量进展察看、编辑、提取和保管。取和保管。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3 3 内存变量文件内存变量文件 利用利用MATMAT文件可以把文件可以把MATLABMATLAB任务空间中的一些任务空间中的一些有用变量久地保管下来。有用变量久地保管下来。MATMAT文件

18、的生成和调文件的生成和调入由入由savesave和和loadload命令来完成命令来完成1) save1) save的格式为:的格式为:save save 文件名文件名 变量名表变量名表 -append-ascii -append-ascii 功能:把任务空间中的变量存入磁盘。其中变量功能:把任务空间中的变量存入磁盘。其中变量名表指出需存储的变量,名表指出需存储的变量,appendappend为数据填加方为数据填加方式,式,asciiascii为数据方式为数据方式2) load2) load的格式为:的格式为:load load 文件名文件名 变量名表变量名表 -ascii -ascii功能:

19、磁盘上存储的功能:磁盘上存储的matmat数据文件取回到数据文件取回到MATLABMATLAB任务空间中。参数含义同任务空间中。参数含义同savesave。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-3: 2-3: 例例2-12-1中语句执行后,在命令窗口中语句执行后,在命令窗口 依次输入下述命令:依次输入下述命令:Save %Save %变量变量a a,b b和和c c保管在保管在matlab.matmatlab.matSave mydata1.mat %Save mydata1.mat %变量变量a a,b b和和c c保管在保管在 mydata2.matmydata

20、2.matsave mydata2.mat a %save mydata2.mat a %变量变量a a保管在保管在 mydata2.matmydata2.matsave mydata3.mat a b %save mydata3.mat a b %变量变量a a和和b b保管在保管在 mydata3.matmydata3.matsave mydata4.mat a b c %save mydata4.mat a b c %变量变量a a,b b和和c c保管在保管在 mydata4.matmydata4.mat四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3 图图形功能形功能3.

21、1 直角坐直角坐标系的二系的二维图形形Plot:直角坐:直角坐标系的二系的二维图形的形的绘制函数制函数三种三种调用格式用格式:1) plot(y,s) 功功能能:当当y是是向向量量时,元元素素的的序序号号作作为x坐坐标,元元素素值作作为y坐坐标,对应绘制制线性直角坐性直角坐标系的二系的二维图形。形。 当当y是是矩矩阵时,元元素素的的所所在在列列号号作作为x坐坐标,元元素素值作作为y坐坐标,分分别对应绘制制线性性直直角角坐坐标系系的的二二维图形形,曲曲线条数等于条数等于输入参数矩入参数矩阵的列数。的列数。 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2) plot(x,y2) pl

22、ot(x,y,s)s)功功能能:当当x x是是向向量量,y y是是矩矩阵时,那那么么绘制制出出多多根根不不同同颜色色的的曲曲线。曲曲线条条数数等等于于y y矩矩阵的的另另一一维数,数,x x被作被作为这些曲些曲线共同的横坐共同的横坐标。当当x,yx,y是是同同维矩矩阵时,那那么么以以x,yx,y对应列列元元素素为横横、纵坐坐标分分别绘制制曲曲线,曲曲线条条数数等等于于矩矩阵的的列列数。数。当当输入入参参数数是是实矩矩阵时,那那么么按按列列绘制制每每列列元元素素值相相对其其下下标的的曲曲线,曲曲线条条数数等等于于输入入参参数数矩矩阵的列数。的列数。当当输入入参参数数是是复复数数矩矩阵时,那那么么

23、按按列列分分别以以元元素素实部和虚部部和虚部为横、横、纵坐坐标绘制多条曲制多条曲线四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3)plot(x1,y1,s1,x2,y2,s2,xn,3)plot(x1,y1,s1,x2,y2,s2,xn,ynyn,sn)sn)功功能能:绘制制xi,yi,sixi,yi,si对应的的二二维图形。形。S S是是表表示示所所绘图形形的的线形形、点点型型和和颜色色的的字字符符串串。函函数数调用用格格式式中中的的S S是是线形形、点点型型和和颜色色的的组合合字字符符,默默许值为b-.b-.蓝色色实线实点点标志志) )。四川文理学院数财系高等代数高等代数高等

24、代数高等代数实验实验绘图绘图函数的常用的函数的常用的颜颜色含色含义义 类类型型 符号符号蓝蓝色色(默默许许) b(Blue)黄色黄色 y(Yellow)品品红红色色(紫色紫色) m(Magenta)青色青色 c(Cyan)红红色色 r(Red)绿绿色色 g(Green)白色白色 w(White)黑色黑色 k(Black)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验绘图函数的常用的线形含义绘图函数的常用的线形含义 类型类型 符号符号实线实线( (默许默许) ) - -点线点线 : :点划线点划线 -. -.虚线虚线 - - 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验

25、 绘图函数的常用的数据点形含义绘图函数的常用的数据点形含义 类型型 符号符号实点点标志默志默许 .圆圈圈标志志 o叉号形叉号形 x星号星号标志志 *钻石形石形标志志 d向下的三角形向下的三角形标志志 v向上的三角形向上的三角形标志志 向左的三角形向左的三角形标志志 五角星五角星标志志 p四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.2 绘制图形的辅助操作绘制图形的辅助操作1 图形标志图形标志title(txt) 功能功能:在图形窗口顶端的中间位置输出字符串在图形窗口顶端的中间位置输出字符串txt作为标题。作为标题。xlabel(txt) 功能功能:在在x轴下的中间位置输出字符串

26、轴下的中间位置输出字符串txt作为标注。作为标注。ylabel(txt) 功能功能:在在y轴边上的中间位置输出字符串轴边上的中间位置输出字符串txt作为标作为标注。注。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验text(x,y,txt)text(x,y,txt) 功能功能: :在在图形窗口的形窗口的(x, y)(x, y)处写字符串写字符串txttxt。坐。坐标x x和和y y按照与所按照与所绘制制图形一形一样的刻度的刻度给出。出。gtext(txt) gtext(txt) 功能功能: :经过运用鼠运用鼠标或方向或方向键,挪,挪动图形窗口形窗口中的十字光中的十字光标,在,在图形

27、窗口中添加字符串形窗口中添加字符串txttxt。legend(str1 ,str2 ,)legend(str1 ,str2 ,) 功能功能: :在当前在当前图上上输出出图例,并用例,并用阐明性字符明性字符串串str1, str2str1, str2等作等作为标注。注。legend off legend off 功能功能: :从当前从当前图形中去除形中去除图例。例。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2 屏幕控制屏幕控制命令命令 功能功能figure(n) 创建和显示当前序号为创建和显示当前序号为n的图形窗口。的图形窗口。clf 去除当前图形窗口的图形。去除当前图形窗口的图

28、形。clc 去除命令窗口的命令。去除命令窗口的命令。home 挪动光标到命令窗口的左上角。挪动光标到命令窗口的左上角。hold 能否坚持当前图形的切换命令。能否坚持当前图形的切换命令。 hold on命令坚持当前图形并参与另一个图形,命令坚持当前图形并参与另一个图形,hold off命令命令 释放当前图形窗口缺省形状,释放当前图形窗口缺省形状,ishold命令假设当前图形处于命令假设当前图形处于hold on形状,那形状,那么前往么前往1;否那么,前往;否那么,前往0。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验subplot(m,n,p)subplot(m,n,p) 将将图图形

29、形窗窗口口分分割割成成m m行行n n列列, ,并并设设置置p p所所指指定定的的子子窗窗口口为为当当前前窗窗口口。子子窗窗口口按按行行由由左左至至右右,由由上上至至下下进进展展编编号号。subplotsubplot设设置置图图形形窗窗口口为为缺缺省省方方式,即单窗口方式,等价于式,即单窗口方式,等价于subplot (1,1,1)subplot (1,1,1)。gridgrid能能否否画画分分格格线线的的双双向向切切换换命命令令,grid grid onon设设置置为为画分格线,画分格线,grid offgrid off为不画分格线。为不画分格线。四川文理学院数财系高等代数高等代数高等代数高

30、等代数实验实验1.3 设定坐定坐标系系统2.axis(xmin xmax ymin ymax)3.设定坐定坐标系系统的最大和最小的最大和最小值。4.axis auto5.将当前将当前图形的坐形的坐标系系统恢复到自恢复到自动缺省缺省形状。形状。6.axis square7.将当前将当前图形的坐形的坐标系系统设置置为方形。方形。8.axis equal9.将当前将当前图形的坐形的坐标轴设成相等。成相等。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验axis axis offoff封封锁坐坐标系系统。axis axis onon显示坐示坐标系系统。boxbox坐坐标方式在封方式在封锁式和

31、开启式之式和开启式之间切切换指令。指令。box onbox on命令使坐命令使坐标方式呈封方式呈封锁方式方式box offbox off命令坐命令坐标方式呈开启方式。方式呈开启方式。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.3 plotyy函数函数Plotyy: 用不同标度在同一个坐标内绘制曲线用不同标度在同一个坐标内绘制曲线plotyy(x1,y1,x2,y2) 分别绘制分别绘制x1,y1和和x2,y2的图的图形。其中形。其中x1和和y1、 x2和和y2为对应的向量为对应的向量或矩阵。或矩阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.4 极坐标系绘图极

32、坐标系绘图Polar:极坐标系绘图函数:极坐标系绘图函数polar(theta,r)在极坐标中绘图。向量在极坐标中绘图。向量theta的元素代表弧的元素代表弧度参数,向量度参数,向量r代表从极点开场的长度。代表从极点开场的长度。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.5 对数坐标绘图对数坐标绘图半对数和对数坐标系绘图函数半对数和对数坐标系绘图函数: semilogx, semilogy, loglog格式:格式: semilogx(x,y) 功能:在半对数坐标系中绘图,功能:在半对数坐标系中绘图,x轴用以轴用以10为底的对数刻度标定。这类似于为底的对数刻度标定。这类似于p

33、lot(log10(x),y),但是对于但是对于log10(0)不能给不能给出警告信息。出警告信息。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验semilogy(x,y) 功能:在半对数坐标系中绘图,功能:在半对数坐标系中绘图,y轴用轴用以以10为底的对数刻度标定。这类似于为底的对数刻度标定。这类似于plot(x,log10(y),但是对于但是对于log10(0)不能给不能给出警告信息。出警告信息。loglog(x,y) 功能:在对数坐标系中绘图。两个坐功能:在对数坐标系中绘图。两个坐标轴均用以标轴均用以1 0为底的对数刻度标定。这为底的对数刻度标定。这类似于类似于plot (l

34、og10(x),log10(y),但是对于但是对于log10(0)不能给出警告信息不能给出警告信息四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4 程序程序设计设计4.1 运算符优先级运算符优先级MATLAB中各种运算符的优先级如下:中各种运算符的优先级如下:(矩阵转置矩阵转置)、(矩阵幂矩阵幂)和和.(数组转置数组转置)、.(数组数组幂幂) (逻辑非逻辑非) *(乘乘)、/(左除左除)、(右除右除)和和.*(点乘点乘)、./(点左除点左除)、.(点右除点右除) +、-(加减加减): (冒号冒号) 、=、= &(逻辑与逻辑与) |(逻辑或逻辑或) &(先决与先决与) |(先决或先决

35、或)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.2 M文件文件4.2.1 M文件概述文件概述 用用MATLAB言语编写的程序,称为言语编写的程序,称为M文件。文件。M文件可以根据调用方式的不同分为文件可以根据调用方式的不同分为两类:两类: 命令文件和函数文件。命令文件和函数文件。两种任务方式:两种任务方式: 交互式的命令行任务方式和交互式的命令行任务方式和M文件的文件的程序任务方式。程序任务方式。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.2.2 M文件的建立文件的建立 为建立新的为建立新的M文件,启动文件,启动MATLAB文本文本编辑器有编辑器有3种方法:

36、种方法: 1) 菜单操作。菜单操作。 2) 命令操作。命令操作。 3) 命令按钮操作。命令按钮操作。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.3 4.3 分支语句分支语句 4.3.1 if 4.3.1 if 构造构造 格式格式1 1: if if 条件条件 语句语句组组 end end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验格式格式2 2: if if 条件条件 语句组语句组1 1 else else 语句组语句组2 2 end end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验格式格式3 3: if if 条件条件1 1 语句句组1 1 e

37、lseif elseif 条件条件2 2 语句句组2 2 elseif elseif 条件条件m m 语句句组m m else else 语句句组m+1m+1 end end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.3.2 switch-case构造构造普通普通switch-case语语句格式句格式为为: switch 表达式表达式 case 值值1 语语句句组组1 case 值值2 语语句句组组2 case 值值m 语语句句组组m otherwise 语语句句组组m+1 end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.3.3 try-catch构造构造

38、try-catch构造格式构造格式为为: try 语语句句组组1 catch 语语句句组组2 end 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.4 循环语句循环语句4.4.1 while循环循环 while 循环的普通方式:循环的普通方式: while 条件表达式条件表达式 语句组;语句组; end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验4.4.2 for循环循环for语句的格式为:语句的格式为:for循环变量循环变量=表达式表达式1:表达式:表达式2:表达式:表达式3 循环体语句循环体语句end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验f

39、orfor语句的更普通的格式为:语句的更普通的格式为: for for 循环变量循环变量= =矩阵表达式矩阵表达式 循环体语句循环体语句 end end 执行时依次将矩阵的各列元素赋给循环执行时依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列变量,然后执行循环体语句,直至各列元素处置终了。元素处置终了。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验实验1 矩阵及其运算四川文理学院数财系高等代数高等代数高等代数高等代数实验实验1 矩矩阵阵1.1 矩矩阵阵的建立的建立1直接直接输输入法入法 最最简单简单的建立矩的建立矩阵阵的方法是从的方法是从键键盘盘直接直接输输入矩入矩阵

40、阵的元素。的元素。详细详细方法方法如下:将矩如下:将矩阵阵的元素用方括号括起的元素用方括号括起来,按矩来,按矩阵阵行的行的顺顺序序输输入各元素,入各元素,同一行的各元素之同一行的各元素之间间用空格或逗号用空格或逗号分隔,不同行的元素之分隔,不同行的元素之间间用分号分用分号分隔。隔。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2利用利用M文件建立矩阵文件建立矩阵 对于比较大且比较复杂的矩阵,可以对于比较大且比较复杂的矩阵,可以为它专门建立一个为它专门建立一个M文件。下面经过一文件。下面经过一个简单例子来阐明如何利用个简单例子来阐明如何利用M文件创建文件创建矩阵。矩阵。四川文理学院数

41、财系高等代数高等代数高等代数高等代数实验实验例例1-1 利用利用M文件建立文件建立MYMAT矩阵。矩阵。(1) 启动有关编辑程序或启动有关编辑程序或MATLAB文本文本编辑器,并输入待建矩阵:编辑器,并输入待建矩阵: (2) 把输入的内容以纯文本方式存盘把输入的内容以纯文本方式存盘(设设文件名为文件名为mymatrix.m)。 (3) 在在MATLAB命令窗口中输入命令窗口中输入mymatrix,即运转该,即运转该M文件,就会自动文件,就会自动建立一个名为建立一个名为MYMAT的矩阵,可供以的矩阵,可供以后运用。后运用。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 3. 利用冒号

42、表达式建立一个向量利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,普通格式冒号表达式可以产生一个行向量,普通格式是:是: e1:e2:e3其中其中e1为初始值,为初始值,e2为步长,为步长,e3为终止值。为终止值。在在MATLAB中,还可以用中,还可以用linspace函数产生行函数产生行向量。其调用格式为:向量。其调用格式为:linspace(a,b,n)其中其中a和和b是生成向量的第一个和最后一个元素,是生成向量的第一个和最后一个元素,n是元素总数。是元素总数。显然,显然,linspace(a,b,n)与与a:(b-a)/(n-1):b等价。等价。4建立大矩阵建立大矩阵大矩阵可由

43、方括号中的小矩阵或向量建立起来。大矩阵可由方括号中的小矩阵或向量建立起来。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验1.2 矩矩阵的拆分的拆分1矩矩阵元素元素 经过下下标援用矩援用矩阵的元素,例如的元素,例如A(3,2)=200采用矩采用矩阵元素的序号来援用矩元素的序号来援用矩阵元素。矩元素。矩阵元素的序元素的序号就是相号就是相应元素在内存中的元素在内存中的陈列列顺序。在序。在MATLAB中,中,矩矩阵元素按列存元素按列存储,先第一列,再第二列,依次,先第一列,再第二列,依次类推。推。例如例如A=1,2,3;4,5,6;A(3)ans = 2显然,序号然,序号(Index)与下

44、与下标(Subscript )是一一是一一对应的,的,以以mn矩矩阵A为例,矩例,矩阵元素元素A(i,j)的序号的序号为(j-1)*m+i。其相互其相互转换关系也可利用关系也可利用sub2ind和和ind2sub函数求得。函数求得。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 2矩矩阵拆分拆分 (1) 利用冒号表达式利用冒号表达式获得子矩得子矩阵 A(:,j)表示取表示取A矩矩阵的第的第j列全部元素;列全部元素;A(i,:)表示表示A矩矩阵第第i行的全部元素;行的全部元素;A(i,j)表示表示取取A矩矩阵第第i行、第行、第j列的元素。列的元素。 A(i:i+m,:)表示取表示取A

45、矩矩阵第第ii+m行的全部行的全部元素;元素;A(:,k:k+m)表示取表示取A矩矩阵第第kk+m列的列的全部元素,全部元素,A(i:i+m,k:k+m)表示取表示取A矩矩阵第第ii+m行内,并在第行内,并在第kk+m列中的一切元素。列中的一切元素。此外,此外,还可利用普通向量和可利用普通向量和end运算符来表示运算符来表示矩矩阵下下标,从而,从而获得子矩得子矩阵。end表示某一表示某一维的末尾元素下的末尾元素下标。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(2) 利用空矩阵删除矩阵的元素利用空矩阵删除矩阵的元素 在在MATLAB中,定义中,定义为空矩阵。给为空矩阵。给变量变量

46、X赋空矩阵的语句为赋空矩阵的语句为X=。留意,。留意,X=与与clear X不同,不同,clear是将是将X从任务空间从任务空间中删除,而空矩阵那么存在于任务空间中删除,而空矩阵那么存在于任务空间中,只是维数为中,只是维数为0。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 1.3 特殊矩阵特殊矩阵1通用的特殊矩阵通用的特殊矩阵常用的产生通用特殊矩阵的函数有:常用的产生通用特殊矩阵的函数有:zeros:产生全:产生全0矩阵矩阵(零矩阵零矩阵)。ones:产生全:产生全1矩阵矩阵(幺矩阵幺矩阵)。eye:产生单位矩阵。:产生单位矩阵。rand:产生:产生01间均匀分布的随机矩阵。间均

47、匀分布的随机矩阵。randn:产生均值为:产生均值为0,方差为,方差为1的规范正的规范正态分布随机矩阵。态分布随机矩阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例1-2 分分别建立建立33、32和与矩和与矩阵A同同样大小的大小的零矩零矩阵。(1) 建立一个建立一个33零矩零矩阵。zeros(3) (2) 建立一个建立一个32零矩零矩阵。zeros(3,2) (3) 设A为23矩矩阵,那么可以用,那么可以用zeros(size(A)建立一个与矩建立一个与矩阵A同同样大小零矩大小零矩阵。A=1 2 3;4 5 6; %产生一个生一个23阶矩矩阵Azeros(size(A) %产

48、生一个与矩生一个与矩阵A同同样大小大小的零矩的零矩阵四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例1-3 建立随机矩建立随机矩阵:(1) 在区在区间20,50内均匀分布的内均匀分布的5阶随机随机矩矩阵。(2) 均均值为0.6、方差、方差为0.1的的5阶正正态分布分布随机矩随机矩阵。命令如下:命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)此外,常用的函数此外,常用的函数还有有reshape(A,m,n),它在矩它在矩阵总元素元素坚持不持不变的前提下,将的前提下,将矩矩阵A重新排成重新排成mn的二的二维矩矩阵。四川文理学院数财系高

49、等代数高等代数高等代数高等代数实验实验2用于用于专门学科的特殊矩学科的特殊矩阵 (1) 魔方矩魔方矩阵魔方矩魔方矩阵有一个有趣的性有一个有趣的性质,其每行、每,其每行、每列及两条列及两条对角角线上的元素和都相等。上的元素和都相等。对于于n阶魔方魔方阵,其元素由,其元素由1,2,3,n2共共n2个个整数整数组成。成。MATLAB提供了求魔方矩提供了求魔方矩阵的函数的函数magic(n),其功能是生成一个,其功能是生成一个n阶魔方魔方阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例1-4 将将101125等等25个数填入一个个数填入一个5行行5列列的表格中,使其每行每列及对角线的

50、和的表格中,使其每行每列及对角线的和均为均为565。M=100+magic(5)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(2) 范得蒙矩阵范得蒙矩阵范得蒙范得蒙(Vandermonde)矩阵最后一列全为矩阵最后一列全为1,倒,倒数第二列为一个指定的向量,其他各列是其后数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在量生成一个范得蒙矩阵。在MATLAB中,函数中,函数vander(V)生成以向量生成以向量V为根底向量的范得蒙矩为根底向量的范得蒙矩阵。例如,阵。例如,A=vander(

51、1;2;3;5)即可得到上述即可得到上述范得蒙矩阵。范得蒙矩阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(3) 伴随矩阵伴随矩阵MATLAB生成伴随矩阵的函数是生成伴随矩阵的函数是compan(p),其中,其中p是一个多项式的系数是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。向量,高次幂系数排在前,低次幂排在后。例如,为了求多项式的例如,为了求多项式的x3-7x+6的伴随矩的伴随矩阵,可运用命令:阵,可运用命令:p=1,0,-7,6;compan(p)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2 矩矩阵阵运算运算2.1算术运算算术运算1根本算术运算根

52、本算术运算 MATLAB的根本算术运算有:的根本算术运算有:(加加)、(减减)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方)。留意,运算是在矩阵意义下进展的,单留意,运算是在矩阵意义下进展的,单个数据的算术运算只是一种特例。个数据的算术运算只是一种特例。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(1) 矩阵加减运算矩阵加减运算 假定有两个矩阵假定有两个矩阵A和和B,那么可以由,那么可以由A+B和和A-B实现矩阵的加减运算。运算规实现矩阵的加减运算。运算规那么是:假设那么是:假设A和和B矩阵的维数一样,那矩阵的维数一样,那么可以执行矩阵的加减运算,么可以执行矩阵的加减运

53、算,A和和B矩阵矩阵的相应元素相加减。假设的相应元素相加减。假设A与与B的维数不的维数不一样,那么一样,那么MATLAB将给出错误信息,将给出错误信息,提示用户两个矩阵的维数不匹配。提示用户两个矩阵的维数不匹配。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(2) 矩矩阵乘法乘法 假定有两个矩假定有两个矩阵A和和B,假,假设A为mn矩矩阵,B为np矩矩阵,那么,那么C=A*B为mp矩矩阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(3) 矩矩阵除法除法在在MATLAB中,有两种矩中,有两种矩阵除法运算:除法运算:和和/,分分别表示左除和右除。假表示左除和右除。假设A

54、矩矩阵是非奇特方是非奇特方阵,那么,那么AB和和B/A运算可以运算可以实现。AB等效于等效于A的逆左乘的逆左乘B矩矩阵,也就是,也就是inv(A)*B,而,而B/A等等效于效于A矩矩阵的逆右乘的逆右乘B矩矩阵,也就是,也就是B*inv(A)。对于含有于含有标量的运算,两种除法运算的量的运算,两种除法运算的结果一果一样,如,如3/4和和43有一有一样的的值,都等于,都等于0.75。又如,。又如,设a=10.5,25,那么,那么a/5=5a=2.1000 5.0000。对于矩于矩阵来来说,左除和右除表示两种不同的除,左除和右除表示两种不同的除数矩数矩阵和被除数矩和被除数矩阵的关系。的关系。对于矩于

55、矩阵运算,运算,普通普通ABB/A。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(4) 矩阵的乘方矩阵的乘方 一个矩阵的乘方运算可以表示成一个矩阵的乘方运算可以表示成Ax,要求要求A为方阵,为方阵,x为标量。为标量。2点运算点运算 在在MATLAB中,有一种特殊的运算,中,有一种特殊的运算,由于其运算符是在有关算术运算符前面加由于其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有点,所以叫点运算。点运算符有.*、./、.和和.。两矩阵进展点运算是指它们的对。两矩阵进展点运算是指它们的对应元素进展相关运算,要求两矩阵的维参应元素进展相关运算,要求两矩阵的维参数一样。数一样

56、。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2.2 关系运算关系运算 MATLAB提供了提供了6种关系运算符:种关系运算符:(小小于于)、(大于大于)、=(大大于或等于于或等于)、=(等于等于)、=(不等于不等于)。它们的含义不难了解,但要留意其书写它们的含义不难了解,但要留意其书写方法与数学中的不等式符号不尽一样。方法与数学中的不等式符号不尽一样。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验关系运算符的运算法那么为:关系运算符的运算法那么为: (1) 当两个比竞赛是标量时,直接比较当两个比竞赛是标量时,直接比较两数的大小。假设关系成立,关系表达两数的大小。假设关

57、系成立,关系表达式结果为式结果为1,否那么为,否那么为0。 (2) 当参与比较的量是两个维数一样的当参与比较的量是两个维数一样的矩阵时,比较是对两矩阵一样位置的元矩阵时,比较是对两矩阵一样位置的元素按标量关系运算规那么逐个进展,并素按标量关系运算规那么逐个进展,并给出元素比较结果。最终的关系运算的给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵一样的矩阵,结果是一个维数与原矩阵一样的矩阵,它的元素由它的元素由0或或1组成。组成。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(3) 当参与比较的一个是标量,而另一个当参与比较的一个是标量,而另一个是矩阵时,那么把标量与矩阵的每

58、一个是矩阵时,那么把标量与矩阵的每一个元素按标量关系运算规那么逐个比较,元素按标量关系运算规那么逐个比较,并给出元素比较结果。最终的关系运算并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵一样的矩阵,的结果是一个维数与原矩阵一样的矩阵,它的元素由它的元素由0或或1组成。组成。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例1-5 产生产生5阶随机方阵阶随机方阵A,其元素为,其元素为10,90区间的随机整数,然后判别区间的随机整数,然后判别A的的元素能否能被元素能否能被3整除。整除。 (1) 生成生成5阶随机方阵阶随机方阵A。A=fix(90-10+1)*rand(5)+

59、10) (2) 判别判别A的元素能否可以被的元素能否可以被3整除。整除。 P=rem(A,3)=0其中,其中,rem(A,3)是矩阵是矩阵A的每个元素除以的每个元素除以3的余数矩阵。此时,的余数矩阵。此时,0被扩展为与被扩展为与A同维同维数的零矩阵,数的零矩阵,P是进展等于是进展等于(=)比较的结比较的结果矩阵。果矩阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3 矩矩阵阵分析分析3.1 对角阵与三角阵对角阵与三角阵1对角阵对角阵只需对角线上有非只需对角线上有非0元素的矩阵称为对角元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵矩阵,对角线上的元素相等的对角矩阵称为数量矩阵

60、,对角线上的元素都为称为数量矩阵,对角线上的元素都为1的的对角矩阵称为单位矩阵。对角矩阵称为单位矩阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 (1) 提取矩提取矩阵的的对角角线元素元素设A为mn矩矩阵,diag(A)函数用于提取矩函数用于提取矩阵A主主对角角线元素,元素,产生一个具有生一个具有min(m,n)个元素的个元素的列向量。列向量。diag(A)函数函数还有一种方式有一种方式diag(A,k),其功能是,其功能是提取第提取第k条条对角角线的元素。的元素。(2) 构造构造对角矩角矩阵设V为具有具有m个元素的向量,个元素的向量,diag(V)将将产生一个生一个mm对角矩

61、角矩阵,其主,其主对角角线元素即元素即为向量向量V的的元素。元素。diag(V)函数也有另一种方式函数也有另一种方式diag(V,k),其功能,其功能是是产生一个生一个nn(n=m+)对角角阵,其第,其第k条条对角角线的元素即的元素即为向量向量V的元素。的元素。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例1-6 先建立先建立55矩矩阵A,然后将,然后将A的第一的第一行元素乘以行元素乘以1,第二行乘以,第二行乘以2,第五,第五行乘以行乘以5。A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;D

62、=diag(1:5);D*A %用用D左乘左乘A,对A的每行的每行乘以一个指定常数乘以一个指定常数四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2三角阵三角阵三角阵又进一步分为上三角阵和下三角三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以阵,所谓上三角阵,即矩阵的对角线以下的元素全为下的元素全为0的一种矩阵,而下三角阵的一种矩阵,而下三角阵那么是对角线以上的元素全为那么是对角线以上的元素全为0的一种矩的一种矩阵。阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 (1) 上三角矩阵上三角矩阵求矩阵求矩阵A的上三角阵的的上三角阵的MATLAB函数是函

63、数是triu(A)。triu(A)函数也有另一种方式函数也有另一种方式triu(A,k),其功能,其功能是求矩阵是求矩阵A的第的第k条对角线以上的元素。例如,条对角线以上的元素。例如,提取矩阵提取矩阵A的第的第2条对角线以上的元素,构成新条对角线以上的元素,构成新的矩阵的矩阵B。(2) 下三角矩阵下三角矩阵在在MATLAB中,提取矩阵中,提取矩阵A的下三角矩阵的函的下三角矩阵的函数是数是tril(A)和和tril(A,k),其用法与提取上三角矩,其用法与提取上三角矩阵的函数阵的函数triu(A)和和triu(A,k)完全一样。完全一样。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验

64、3.2 矩矩阵的的转置与旋置与旋转1矩矩阵的的转置置转置运算符是置运算符是单撇号撇号()。2矩矩阵的旋的旋转利用函数利用函数rot90(A,k)将矩将矩阵A旋旋转90的的k倍,当倍,当k为1时可省略。可省略。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 3矩矩阵的左右翻的左右翻转对矩矩阵实施左右翻施左右翻转是将原矩是将原矩阵的第一的第一列和最后一列互列和最后一列互换,第二列和倒数第二,第二列和倒数第二列互列互换,依次,依次类推。推。MATLAB对矩矩阵A实施左右翻施左右翻转的函数是的函数是fliplr(A)。4矩矩阵的上下翻的上下翻转MATLAB对矩矩阵A实施上下翻施上下翻转的函

65、数的函数是是flipud(A)。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 3.3 矩矩阵的逆与的逆与伪逆逆1矩矩阵的逆的逆对于一个方于一个方阵A,假,假设存在一个与其同存在一个与其同阶的方的方阵B,使得:,使得:AB=BA=I (I为单位矩位矩阵)那么称那么称B为A的逆矩的逆矩阵,当然,当然,A也是也是B的逆矩的逆矩阵。求一个矩求一个矩阵的逆是一件非常的逆是一件非常烦琐的任的任务,容易,容易出出错,但在,但在MATLAB中,求一个矩中,求一个矩阵的逆非常的逆非常容易。求方容易。求方阵A的逆矩的逆矩阵可可调用函数用函数inv(A)。例例1-7 用求逆矩用求逆矩阵的方法解的方法解

66、线性方程性方程组。Ax=b其解其解为:x=A-1b四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2矩矩阵的的伪逆逆假假设矩矩阵A不是一个方不是一个方阵,或者,或者A是一个是一个非非满秩的方秩的方阵时,矩,矩阵A没有逆矩没有逆矩阵,但,但可以找到一个与可以找到一个与A的的转置矩置矩阵A同型的矩同型的矩阵B,使得:,使得:ABA=ABAB=B此此时称矩称矩阵B为矩矩阵A的的伪逆,也称逆,也称为广广义逆矩逆矩阵。在。在MATLAB中,求一个矩中,求一个矩阵伪逆的函数是逆的函数是pinv(A)。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.4 方阵的行列式方阵的行列式把一个

67、方阵看作一个行列式,并对其按把一个方阵看作一个行列式,并对其按行列式的规那么求值,这个值就称为矩行列式的规那么求值,这个值就称为矩阵所对应的行列式的值。在阵所对应的行列式的值。在MATLAB中,中,求方阵求方阵A所对应的行列式的值的函数是所对应的行列式的值的函数是det(A)。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.5 矩阵的秩与迹矩阵的秩与迹1矩阵的秩矩阵的秩矩阵线性无关的行数与列数称为矩阵的矩阵线性无关的行数与列数称为矩阵的秩。在秩。在MATLAB中,求矩阵秩的函数是中,求矩阵秩的函数是rank(A)。2矩阵的迹矩阵的迹矩阵的迹等于矩阵的对角线元素之和,矩阵的迹等于矩

68、阵的对角线元素之和,也等于矩阵的特征值之和。在也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是中,求矩阵的迹的函数是trace(A)。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.6 向量和矩阵的范数向量和矩阵的范数矩阵或向量的范数用来度量矩阵或向量矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。范数有多种方法在某种意义下的长度。范数有多种方法定义,其定义不同,范数值也就不同。定义,其定义不同,范数值也就不同。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验1向量的向量的3种常用范数及其种常用范数及其计算函数算函数在在MATLAB中,求向量范数的函数

69、中,求向量范数的函数为:(1) norm(V)或或norm(V,2):计算向量算向量V的的2范范数。数。(2) norm(V,1):计算向量算向量V的的1范数。范数。(3) norm(V,inf):计算向量算向量V的的范数。范数。2矩矩阵的范数及其的范数及其计算函数算函数MATLAB提供了求提供了求3种矩种矩阵范数的函数,其函范数的函数,其函数数调用格式与求向量的范数的函数完全一用格式与求向量的范数的函数完全一样。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.7 矩矩阵的条件数的条件数在在MATLAB中,中,计算矩算矩阵A的的3种条件数种条件数的函数是:的函数是:(1) con

70、d(A,1) 计算算A的的1范数下的条件范数下的条件数。数。(2) cond(A)或或cond(A,2) 计算算A的的2范范数数下的条件数。数数下的条件数。(3) cond(A,inf) 计算算A的的 范数下的条范数下的条件数。件数。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3.8 矩阵的特征值与特征向量矩阵的特征值与特征向量在在MATLAB中,计算矩阵中,计算矩阵A的特征值和特的特征值和特征向量的函数是征向量的函数是eig(A),常用的调用格式,常用的调用格式有有3种:种:(1) E=eig(A):求矩阵:求矩阵A的全部特征值,的全部特征值,构成向量构成向量E。(2) V,D

71、=eig(A):求矩阵:求矩阵A的全部特征的全部特征值,构成对角阵值,构成对角阵D,并求,并求A的特征向量构的特征向量构成成V的列向量。的列向量。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验 (3) V,D=eig(A,nobalance):与第:与第2种格种格式式类似,但第似,但第2种格式中先种格式中先对A作作类似似变换后求矩后求矩阵A的特征的特征值和特征向量,而格和特征向量,而格式式3直接求矩直接求矩阵A的特征的特征值和特征向量。和特征向量。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验实验2 多项式四川文理学院数财系高等代数高等代数高等代数高等代数实验实验1 多

72、多项项式的表示式的表示MATLAB中多项式的表示方法中多项式的表示方法 :例如:行向量例如:行向量 p=1 -12 0 25 116对应的多对应的多项式为:项式为:四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2 多项式的算术运算1 加减运算加减运算 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2 2 2 2 乘法运算乘法运算乘法运算乘法运算 MATLABMATLAB支持多项式乘法,函数格式为:支持多项式乘法,函数格式为:函数函数conv(P1,P2) conv(P1,P2) 求多项式求多项式P1P1和和P2P

73、2的乘积。的乘积。这里,这里,P1P1,P2P2是两个多项式系数向量。是两个多项式系数向量。例例 2-2 2-2 计算计算c=conv(1 2 2,1 5 4)c=conv(1 2 2,1 5 4)执行结果如下:执行结果如下:c = c = 1 7 16 18 81 7 16 18 8由执行结果可知由执行结果可知: :四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3 除法运算除法运算Q,r=deconv(P1,P2) 对多项式对多项式P1和和P2作除法运算。其中作除法运算。其中Q前往多前往多项式项式P1除以除以P2的商式,的商式,r前往前往P1除以除以P2的余的余式。式。留意留意d

74、econv是是conv的逆函数,即有的逆函数,即有P1=conv(P2,Q)+r。 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-3 2-3 计算计算Q=deconv(1 8 0 0 -10,2 -1 3)Q=deconv(1 8 0 0 -10,2 -1 3)Q =Q = 0.5000 4.2500 1.3750 0.5000 4.2500 1.3750Q,r=deconv(1 8 0 0 -10,2 -1 3)Q,r=deconv(1 8 0 0 -10,2 -1 3)执行结果如下:执行结果如下:Q =Q = 0.5000 4.2500 1.3750 0.5000 4.

75、2500 1.3750r =r = 0 0 0 0 0 0 -11.3750 -11.3750 - -14.125014.1250由执行结果可知商是由执行结果可知商是: :余式是余式是: :四川文理学院数财系高等代数高等代数高等代数高等代数实验实验3 多项式求根 x=roots(P) x=roots(P)其其中中P P为多多项式式的的系系数数向向量量,求求得得的的根根赋给向向量量x x,即即x(1),x(2),x(n)x(1),x(2),x(n)分分别代代表表多多项式式的的n n个根。个根。给出出一一个个多多项式式的的根根,可可以以构构造造相相应的的多多项式式。假假设知知多多项式式的的全全部部

76、根根,那那么么可可以以用用polypoly函数建立起多函数建立起多项式,其式,其调用格式用格式为: P=poly(x) P=poly(x)x x为具具有有n n个个元元素素的的向向量量,poly(x)poly(x)为以以x x为其其根的多根的多项式,且将式,且将该多多项式的系数式的系数赋给向量向量P P。 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-4 2-4 求多项式的求多项式的 根根A=1,8,0,0,-10;x=roots(A)A=1,8,0,0,-10;x=roots(A)执行结果如下:执行结果如下:x =x =-8.0194 -8.0194 1.0344 1.0

77、344 -0.5075 + 0.9736i -0.5075 + 0.9736i -0.5075 - 0.9736i -0.5075 - 0.9736i由由结结果果可可以以看看出出,方方程程的的根根为为两两个个实实根根和和一一对对共共轭轭复根复根 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-5 2-5 求方程求方程 的根。的根。 r=1 -7 2 40; p=roots(r); r=1 -7 2 40; p=roots(r);执行结果如下:执行结果如下:p =p =5.00005.0000 4.0000 4.0000 -2.0000 -2.0000由结果可以看出,方程的根均

78、为实根由结果可以看出,方程的根均为实根5.0005.000,4.00004.0000和和-2.0000-2.0000。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例 2-6 2-6知知 (1) (1) 计算计算 的全部根。的全部根。(2) (2) 由方程由方程 的根构造一个多项式的根构造一个多项式并与并与 进展对比。进展对比。 P=3,0,4,-5,-7.2,5;P=3,0,4,-5,-7.2,5;X=roots(P) %X=roots(P) %求方程求方程f(x)=0f(x)=0的根的根G=poly(X) %G=poly(X) %求多项式求多项式G(x)G(x)四川文理学院数

79、财系高等代数高等代数高等代数高等代数实验实验执行结果为:执行结果为:X =X = -0.3046 + 1.6217i -0.3046 + 1.6217i -0.3046 - 1.6217i -0.3046 - 1.6217i -1.0066 -1.0066 1.0190 1.0190 0.5967 0.5967 G =G =1.0000 0.0000 1.3333 1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667-1.6667 -2.4000 1.6667留意:构造的多项式的首项系数为留意:构造的多项式的首项系数为1 1。 四川文理学院数财系高等代数高等代

80、数高等代数高等代数实验实验4 多项式估值1 代数多代数多项式求式求值 Y=polyval(P,x)求代数多求代数多项式的式的值。假。假设x为一常数,那么求多一常数,那么求多项式式P在在该点的点的值, Y = P(1)x N + P(2) x (N-1) + . + P(N) x + P(N+1)假假设x为向量或矩向量或矩阵,那么,那么对向量或矩向量或矩阵中的每中的每个元素求多个元素求多项式式P的的值,前往,前往值为与自与自变量同量同型的向量或矩型的向量或矩阵。 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-7 2-7 知知 分别计算分别计算 和和 时时 的值。的值。P=1

81、8 0 0 -10P=1 8 0 0 -10;x=1.2x=1.2;Y=polyval(P,x)Y=polyval(P,x)执行结果如下:执行结果如下:Y = Y = 5.8976 5.8976y=2 3 4;5 4 1;Y=polyval(P,y)y=2 3 4;5 4 1;Y=polyval(P,y)执行结果如下:执行结果如下:Y = Y = 70 287 758 70 287 758 1615 758 -1 1615 758 -1 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2 矩阵多项式求值矩阵多项式求值polyvalmpolyvalm函数用来求矩阵多项式的值,要函数用来

82、求矩阵多项式的值,要求以方阵求以方阵x x为自变量求多项式的值。为自变量求多项式的值。 四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-8 2-8 当当x x取取 时求时求 的值。的值。p=1 -5 0 8;p=1 -5 0 8;a=2 3 5 ;5 8 1;7 6 9;a=2 3 5 ;5 8 1;7 6 9;polyvalm(p,a)polyvalm(p,a)执行结果:执行结果:ans =ans = 552 690 562 552 690 562 548 686 538 548 686 538 1148 1422 1154 1148 1422 1154四川文理学院数财系高

83、等代数高等代数高等代数高等代数实验实验polyval(p,a)polyval(p,a)执行结果:执行结果:ans =ans = -4 -10 8 -4 -10 8 8 200 4 8 200 4 106 44 332 106 44 332四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例2-9 2-9 当当x=8x=8时求时求(x-1)(x-2) (x-3)(x-4)(x-1)(x-2) (x-3)(x-4) 的值。的值。 p=poly(1 2 3 4)p=poly(1 2 3 4), polyvalm(p,8) polyvalm(p,8)执行结果如下:执行结果如下:p = p =

84、 1 -10 35 -50 24 1 -10 35 -50 24ans = ans = 840840四川文理学院数财系高等代数高等代数高等代数高等代数实验实验实验3 线性方程组的解法四川文理学院数财系高等代数高等代数高等代数高等代数实验实验直接解法1利用左除运算符的直接解法利用左除运算符的直接解法对于于线性方程性方程组Ax=b,可以利用左除运算,可以利用左除运算符符“求解:求解: x=Ab四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例-1 用直接解法求解以下线性方程组。用直接解法求解以下线性方程组。命令如下:命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1

85、,6,-1,-4;b=13,-9,6,0;x=Ab四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2利用矩阵的分解求解线性方程组利用矩阵的分解求解线性方程组矩阵分解是指根据一定的原理用某种算法矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成假设干个矩阵的乘积。将一个矩阵分解成假设干个矩阵的乘积。常见的矩阵分解有常见的矩阵分解有LU分解、分解、QR分解、分解、Cholesky分解,以及分解,以及Schur分解、分解、Hessenberg分解、奇特分解等。分解、奇特分解等。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(1) LU分解分解矩阵的矩阵的LU分解就是将一个矩阵

86、表示为一个交换下三角矩分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积方式。线性代数中曾经证阵和一个上三角矩阵的乘积方式。线性代数中曾经证明,只需方阵明,只需方阵A是非奇特的,是非奇特的,LU分解总是可以进展的。分解总是可以进展的。MATLAB提供的提供的lu函数用于对矩阵进展函数用于对矩阵进展LU分解,其调用分解,其调用格式为:格式为:L,U=lu(X):产生一个上三角阵:产生一个上三角阵U和一个变换方式的下和一个变换方式的下三角阵三角阵L(行交换行交换),使之满足,使之满足X=LU。留意,这里的矩。留意,这里的矩阵阵X必需是方阵。必需是方阵。L,U,P=lu(X):产生一个

87、上三角阵:产生一个上三角阵U和一个下三角阵和一个下三角阵L以以及一个置换矩阵及一个置换矩阵P,使之满足,使之满足PX=LU。当然矩阵。当然矩阵X同样同样必需是方阵。必需是方阵。实现实现LU分解后,线性方程组分解后,线性方程组Ax=b的解的解x=U(Lb)或或x=U(LPb),这样可以大大提高运算速度。,这样可以大大提高运算速度。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例-2 用用LU分解求解例分解求解例7-1中的线性方程组。中的线性方程组。命令如下:命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;L,U=lu(

88、A);x=U(Lb)或采用或采用LU分解的第分解的第2种格式,命令如下:种格式,命令如下:L,U ,P=lu(A);x=U(LP*b)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(2) QR分解分解对矩阵对矩阵X进展进展QR分解,就是把分解,就是把X分解为一个正交分解为一个正交矩阵矩阵Q和一个上三角矩阵和一个上三角矩阵R的乘积方式。的乘积方式。QR分分解只能对方阵进展。解只能对方阵进展。MATLAB的函数的函数qr可用于可用于对矩阵进展对矩阵进展QR分解,其调用格式为:分解,其调用格式为:Q,R=qr(X):产生一个一个正交矩阵:产生一个一个正交矩阵Q和一个上和一个上三角矩阵三角

89、矩阵R,使之满足,使之满足X=QR。Q,R,E=qr(X):产生一个一个正交矩阵:产生一个一个正交矩阵Q、一个、一个上三角矩阵上三角矩阵R以及一个置换矩阵以及一个置换矩阵E,使之满足,使之满足XE=QR。实现实现QR分解后,线性方程组分解后,线性方程组Ax=b的解的解x=R(Qb)或或x=E(R(Qb)。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例-3 用用QR分解求解例分解求解例7-1中的线性方程组。中的线性方程组。命令如下:命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;Q,R=qr(A);x=R(Qb)或采

90、用或采用QR分解的第分解的第2种格式,命令如下:种格式,命令如下:Q,R,E=qr(A);x=E*(R(Qb)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验(3) Cholesky分解分解假假设矩矩阵X是是对称正定的,那么称正定的,那么Cholesky分解将矩分解将矩阵X分分解成一个下三角矩解成一个下三角矩阵和上三角矩和上三角矩阵的乘的乘积。设上三角矩上三角矩阵为R,那么下三角矩,那么下三角矩阵为其其转置,即置,即X=RR。MATLAB函数函数chol(X)用于用于对矩矩阵X进展展Cholesky分解,分解,其其调用格式用格式为:R=chol(X):产生一个上三角生一个上三角阵R,

91、使,使RR=X。假。假设X为非非对称正定,那么称正定,那么输出一个出出一个出错信息。信息。R,p=chol(X):这个命令格式将不个命令格式将不输出出出出错信息。当信息。当X为对称正定的,那么称正定的,那么p=0,R与上述格式得到的与上述格式得到的结果一果一样;否那么否那么p为一个正整数。假一个正整数。假设X为满秩矩秩矩阵,那么,那么R为一一个个阶数数为q=p-1的上三角的上三角阵,且,且满足足RR=X(1:q,1:q)。实现Cholesky分解后,分解后,线性方程性方程组Ax=b变成成RRx=b,所,所以以x=R(Rb)。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例-4 用

92、用Cholesky分解求解例分解求解例7-1中的线性方程中的线性方程组。组。命令如下:命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;R=chol(A)? Error using = cholMatrix must be positive definite命令执行时,出现错误信息,阐明命令执行时,出现错误信息,阐明A为非正定矩为非正定矩阵。阵。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验迭代解法迭代解法非常适宜求解大型系数矩迭代解法非常适宜求解大型系数矩阵的方程的方程组。在数。在数值分析中,迭代解法主要包括分析中,迭

93、代解法主要包括 Jacobi迭代法、迭代法、Gauss-Serdel迭代法、超松弛迭代法和两步迭代法。迭代法、超松弛迭代法和两步迭代法。1Jacobi迭代法迭代法对于于线性方程性方程组Ax=b,假,假设A为非奇特方非奇特方阵,即,即aii0(i=1,2,n),那么可将,那么可将A分解分解为A=D-L-U,其中,其中D为对角角阵,其元素,其元素为A的的对角元素,角元素,L与与U为A的下三的下三角角阵和上三角和上三角阵,于是,于是Ax=b化化为:x=D-1(L+U)x+D-1b与之与之对应的迭代公式的迭代公式为:x(k+1)=D-1(L+U)x(k)+D-1b这就是就是Jacobi迭代公式。假迭代

94、公式。假设序列序列x(k+1)收收敛于于x,那,那么么x必是方程必是方程Ax=b的解。的解。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验Jacobi迭代法的迭代法的MATLAB函数文件函数文件Jacobi.m如下:如下:function y,n=jacobi(A,b,x0,eps)if nargin=3 eps=1.0e-6;elseif nargin=eps x0=y; y=B*x0+f; n=n+1;end四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例-5 用用Jacobi迭代法求解以下线性方程迭代法求解以下线性方程组。设迭代初值为组。设迭代初值为0,迭代精度

95、为,迭代精度为10-6。在命令中调用函数文件在命令中调用函数文件Jacobi.m,命令如,命令如下:下:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x,n=jacobi(A,b,0,0,0,1.0e-6)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验2Gauss-Serdel迭代法迭代法在在Jacobi迭代过程中,计算时,曾经得到,迭代过程中,计算时,曾经得到,不用再用,即原来的迭代公式不用再用,即原来的迭代公式Dx(k+1)=(L+U)x(k)+b可以改良为可以改良为Dx(k+1)=Lx(k+1)+Ux(k)+b,于是得到:,于是得到:x(k+1)=(D

96、-L)-1Ux(k)+(D-L)-1b该式即为该式即为Gauss-Serdel迭代公式。和迭代公式。和Jacobi迭代相比,迭代相比,Gauss-Serdel迭代用新分量替迭代用新分量替代旧分量,精度会高些。代旧分量,精度会高些。四川文理学院数财系高等代数高等代数高等代数高等代数实验实验Gauss-Serdel迭代法的迭代法的MATLAB函数文件函数文件gauseidel.m如下:如下:function y,n=gauseidel(A,b,x0,eps)if nargin=3 eps=1.0e-6;elseif nargin=eps x0=y; y=G*x0+f; n=n+1;end四川文理学

97、院数财系高等代数高等代数高等代数高等代数实验实验例例-6 用用Gauss-Serdel迭代法求解以下线迭代法求解以下线性方程组。设迭代初值为性方程组。设迭代初值为0,迭代精度为,迭代精度为10-6。在命令中调用函数文件在命令中调用函数文件gauseidel.m,命令,命令如下:如下:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x,n=gauseidel(A,b,0,0,0,1.0e-6)四川文理学院数财系高等代数高等代数高等代数高等代数实验实验例例-7 分别用分别用Jacobi迭代和迭代和Gauss-Serdel迭代法求解以下线性方程组,看能否收迭代法求解以下线性方程组,看能否收敛。敛。命令如下:命令如下:a=1,2,-2;1,1,1;2,2,1;b=9;7;6;x,n=jacobi(a,b,0;0;0)x,n=gauseidel(a,b,0;0;0)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号