《高等代数实验》PPT课件.ppt
《《高等代数实验》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《高等代数实验》PPT课件.ppt(121页珍藏版)》请在三一办公上搜索。
1、1,高等代数实验,2,预备实验 MATLAB使用练习,3,MATLAB是MATrix LABoratory的缩写,它将计算、可视化和编程功能集成在非常便于使用的环境中,是一个交互式的、以矩阵计算为基础的科学和工程计算软件。MATLAB的特点可以简要地归纳如下:,4,编程效率高 与Fortran、C等语言相比,它更接近我们通常进行计算时的思维方法,用它编程犹如在纸上书写计算公式,编程时间和程序量大大减少。计算功能强 它以不必指定维数的矩阵和数组作为主要数据对象,矩阵和向量计算功能特别强,库函数也很丰富,非常适用于科学和工程计算。,5,使用简便 其语言灵活、方便,将编译、连接、执行融为一体,在同一
2、画面上排除书写、语法等错误,加快了用户编写、修改、调试程序的速度,计算结果也用人们十分熟悉的数学符号表示出来。具有初步计算机知识的人几个小时就可以基本掌握它。易于扩充 用户根据需要建立的文件可以与库函数一样被调用,从而提高了使用效率,扩充了计算功能,它还可以与Fortran、C语言子程序混合编程。,6,此外,它还有很方便的绘图功能。为了解决各种特殊的科学和工程计算问题,MATLAB系统提供了许多个工具箱,如优化工具箱、统计工具箱和符号运算工具箱等。,7,1 概述,1.1 数据术语1)矩阵:由mn个数组成的排成m行n列的一个矩形的数表,其中00矩阵为空矩阵()。数表中第i(1im)行第j(1jn
3、)列的数据称为矩阵元素 2)标量:11的矩阵,即为只含一个数的矩阵。3)向量:1n或n1的矩阵,即只有一行的或者一列的矩阵。只有一行的矩阵称为行向量,只有一列的矩阵称为列向量。数表中第i(1in)个数据称为向量元素。4)数组:矩阵的延伸,一般指多维数组,其中标量、向量和矩阵都是数组的特例。,8,1.2 数据类型数据类型包括数值型、字符串型、元胞型、构架型等。数值型有单精度型、双精度型和整数型。整数型有uint8,uint16,uint32和uint64等无符号型和int8,int16,int32和int64等符号型整数。数值型数据可以用带小数点的形式和科学计数法表示,数值的表示范围是10-30
4、910+309。-20、1.25、2.88e-56(表示2.8810-56)、7.68e204(表示7.6810204)都是合法的数据表示。一般在计算时采用双精度型,在输出时有多种数值显示格式可供选择。,9,数值显示格式的设置通过format 命令,格式如下:format short 默认设置,以5位数字形式输出 format long 以15位十进制数形式输出format short e 以5位十进制数加指数形式输出format long e 以16位十进制数加指数形式输出format short g 从format short和format short e 中自动选择最佳输出形式,10,f
5、ormat long g 从format long和format long e 中自动选择最佳输出形式format hex 以16位十六进制数形式输出format+以正号、负号和零形式输出format bank 以两位小数形式输出format rat 以近似分数形式输出format loose 以稀疏格式(变量与执行结果之 间有空行)输出 format compact 以紧凑格式(变量与执行结果之 间无空行)输出,11,2 变量,2.1变量的命名变量的命名规则为:1 变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号。2 关键字和函数名不能作为变量名。3
6、 变量名不能超过63个字符。4 变量名区分字母的大小写,即大小写敏感。大小写是否区分可以通过命令casesen on/off进行切换(如果不区分大小写,为casesen off,否则为casesen on)。,12,2.2变量的赋值变量的赋值通常有两种形式:1 变量=表达式 2 表达式其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个数组。形式1中,=代表的是赋值操作,将表达式的值赋给MATLAB的变量;形式2中,将表达式的值赋给MATLAB的临时变量ans。,13,例2-1 在命令窗口输入下述语句,并按回车键执行,分别给变量a、b、c赋值:,a=1%a为标量b=0 1%b为行向量c
7、=1 2;3 4;5 6%c为矩阵即二维数组,14,2.3 特殊变量eps MATLAB定义的正的极小值2.2204e-16Realmax 最大的正实数1.7977e+308Realmin 最小的正实数2.2251e-308Pi 内建的值i,j 虚数单位i=j=-1Inf NaN 无法定义一个数目 Nargin 函数输入参数个数Nargout 函数输出参数个数Flops 浮点运算次数,15,2.4内存变量的管理1 内存变量的显示与删除1)who 用于显示在MATLAB工作空间中已 经驻留的变量名清单。2)whos 在给出变量名的同时,还给出它们 的大小、所占字节数及数据类型等 信息。3)cle
8、ar 删除MATLAB工作空间中的变量。注 意,特殊变量不能被删除。,16,例2-2 查询例2-1中语句执行后工作空间中 的变量情况。在命令窗口输入 who执行结果为:Your variables are:a b c在命令窗口输入 whos执行结果为:Name Size Bytes Class a 1x1 8 double array b 1x2 16 double array c 3x2 48 double arrayGrand total is 10 elements using 72 bytes,17,2 工作空间浏览器工作空间浏览器窗口用于显示所有MATLAB工作空间中的变量名、数据结
9、构、类型、大小和字节数,也可以对变量进行观察、编辑、提取和保存。,18,3 内存变量文件 利用MAT文件可以把MATLAB工作空间中的一些有用变量久地保留下来。MAT文件的生成和调入由save和load命令来完成1)save的格式为:save 文件名 变量名表-append-ascii 功能:把工作空间中的变量存入磁盘。其中变量名表指出需存储的变量,append为数据填加方式,ascii为数据形式2)load的格式为:load 文件名 变量名表-ascii功能:磁盘上存储的mat数据文件取回到MATLAB工作空间中。参数含义同save。,19,例2-3:例2-1中语句执行后,在命令窗口 依次输
10、入下述命令:Save%变量a,b和c保存在matlab.matSave mydata1.mat%变量a,b和c保存在 mydata2.matsave mydata2.mat a%变量a保存在 mydata2.matsave mydata3.mat a b%变量a和b保存在 mydata3.matsave mydata4.mat a b c%变量a,b和c保存在 mydata4.mat,20,3 图形功能,3.1 直角坐标系的二维图形Plot:直角坐标系的二维图形的绘制函数三种调用格式:1)plot(y,s)功能:当y是向量时,元素的序号作为x坐标,元素值作为y坐标,对应绘制线性直角坐标系的二维
11、图形。当y是矩阵时,元素的所在列号作为x坐标,元素值作为y坐标,分别对应绘制线性直角坐标系的二维图形,曲线条数等于输入参数矩阵的列数。,21,2)plot(x,y,s)功能:当x是向量,y是矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线,22,3)plot(x1,y1,s1,x2,y2,s2
12、,xn,yn,sn)功能:绘制(xi,yi,si)对应的二维图形。S是表示所绘图形的线形、点型和颜色的字符串。函数调用格式中的S是线形、点型和颜色的组合字符,默认值为b-.(蓝色实线实点标记)。,23,绘图函数的常用的颜色含义 类型 符号蓝色(默认)b(Blue)黄色 y(Yellow)品红色(紫色)m(Magenta)青色 c(Cyan)红色 r(Red)绿色 g(Green)白色 w(White)黑色 k(Black),24,绘图函数的常用的线形含义 类型 符号实线(默认)-点线:点划线-.虚线-,25,绘图函数的常用的数据点形含义,类型 符号实点标记(默认).圆圈标记 o叉号形 x星号标
13、记*钻石形标记 d向下的三角形标记 v向上的三角形标记 向左的三角形标记 五角星标记 p,26,3.2 绘制图形的辅助操作1 图形标记title(txt)功能:在图形窗口顶端的中间位置输出字符串txt作为标题。xlabel(txt)功能:在x轴下的中间位置输出字符串txt作为标注。ylabel(txt)功能:在y轴边上的中间位置输出字符串txt作为标注。,27,text(x,y,txt)功能:在图形窗口的(x,y)处写字符串txt。坐标x和y按照与所绘制图形相同的刻度给出。gtext(txt)功能:通过使用鼠标或方向键,移动图形窗口中的十字光标,在图形窗口中添加字符串txt。legend(st
14、r1,str2,)功能:在当前图上输出图例,并用说明性字符串str1,str2等作为标注。legend off 功能:从当前图形中清除图例。,28,2 屏幕控制命令 功能figure(n)创建和显示当前序号为n的图形窗口。clf 清除当前图形窗口的图形。clc 清除命令窗口的命令。home 移动光标到命令窗口的左上角。hold 是否保持当前图形的切换命令。hold on命令保持当前图形并加入另一个图形,hold off命令 释放当前图形窗口(缺省状态),ishold命令如果当前图形处于hold on状态,则返回1;否则,返回0。,29,subplot(m,n,p)将图形窗口分割成m行n列,并设
15、置p所指定的子窗口为当前窗口。子窗口按行由左至右,由上至下进行编号。subplot设置图形窗口为缺省模式,即单窗口模式,等价于subplot(1,1,1)。grid是否画分格线的双向切换命令,grid on设置为画分格线,grid off为不画分格线。,30,3 设定坐标系统axis(xmin xmax ymin ymax)设定坐标系统的最大和最小值。axis(auto)将当前图形的坐标系统恢复到自动缺省状态。axis(square)将当前图形的坐标系统设置为方形。axis(equal)将当前图形的坐标轴设成相等。,31,axis(off)关闭坐标系统。axis(on)显示坐标系统。box坐标
16、形式在封闭式和开启式之间切换指令。box on命令使坐标形式呈封闭形式box off命令坐标形式呈开启形式。,32,3.3 plotyy函数Plotyy:用不同标度在同一个坐标内绘制曲线plotyy(x1,y1,x2,y2)分别绘制(x1,y1)和(x2,y2)的图形。其中x1和y1、x2和y2为对应的向量或矩阵。,33,3.4 极坐标系绘图Polar:极坐标系绘图函数polar(theta,r)在极坐标中绘图。向量theta的元素代表弧度参数,向量r代表从极点开始的长度。,34,3.5 对数坐标绘图半对数和对数坐标系绘图函数:semilogx,semilogy,loglog格式:semilo
17、gx(x,y)功能:在半对数坐标系中绘图,x轴用以10为底的对数刻度标定。这类似于plot(log10(x),y),但是对于log10(0)不能给出警告信息。,35,semilogy(x,y)功能:在半对数坐标系中绘图,y轴用以10为底的对数刻度标定。这类似于plot(x,log10(y),但是对于log10(0)不能给出警告信息。loglog(x,y)功能:在对数坐标系中绘图。两个坐标轴均用以1 0为底的对数刻度标定。这类似于plot(log10(x),log10(y),但是对于log10(0)不能给出警告信息,36,4 程序设计,4.1 运算符优先级MATLAB中各种运算符的优先级如下:(
18、矩阵转置)、(矩阵幂)和.(数组转置)、.(数组幂)(逻辑非)*(乘)、/(左除)、(右除)和.*(点乘)、./(点左除)、.(点右除)+、-(加减):(冒号)、=、=&(逻辑与)|(逻辑或)&(先决与)|(先决或),37,4.2 M文件4.2.1 M文件概述 用MATLAB语言编写的程序,称为M文件。M文件可以根据调用方式的不同分为两类:命令文件和函数文件。两种工作方式:交互式的命令行工作方式和M文件的程序工作方式。,38,4.2.2 M文件的建立 为建立新的M文件,启动MATLAB文本编辑器有3种方法:1)菜单操作。2)命令操作。3)命令按钮操作。,39,4.3 分支语句 4.3.1 if
19、 结构 格式1:if 条件 语句组 end,40,格式2:if 条件 语句组1 else 语句组2 end,41,格式3:if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组m+1 end,42,switch-case结构一般switch-case语句格式为:switch 表达式 case 值1 语句组1 case 值2 语句组2 case 值m 语句组m otherwise 语句组m+1 end,43,4.3.3 try-catch结构try-catch结构格式为:try 语句组1 catch 语句组2 end,44,4.4 循环语句4.4
20、.1 while循环 while 循环的一般形式:while 条件表达式 语句组;end,45,4.4.2 for循环for语句的格式为:for循环变量=表达式1:表达式2:表达式3 循环体语句end,46,for语句的更一般的格式为:for 循环变量=矩阵表达式 循环体语句 end 执行时依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。,47,实验1 矩阵及其运算,48,1 矩阵1.1 矩阵的建立1直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不
21、同行的元素之间用分号分隔。,49,2利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。下面通过一个简单例子来说明如何利用M文件创建矩阵。,50,例1-1 利用M文件建立MYMAT矩阵。(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:(2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。(3)在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。,51,3.利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3其中e1为初始值,e2为步长,e3为终
22、止值。在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。4建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起来。,52,1.2 矩阵的拆分1矩阵元素 通过下标引用矩阵的元素,例如A(3,2)=200采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如A=1,2,3;4,5,6;A(3)ans=2显然,序号(Index)
23、与下标(Subscript)是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。,53,2矩阵拆分(1)利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从
24、而获得子矩阵。end表示某一维的末尾元素下标。,54,(2)利用空矩阵删除矩阵的元素 在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。,55,1.3 特殊矩阵1通用的特殊矩阵常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生01间均匀分布的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。,56,例1-2 分别建立33、32和与矩阵A同样大小的零矩阵。(1)建立一个33
25、零矩阵。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)%产生一个与矩阵A同样大小的零矩阵,57,例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重新排成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高等代数实验 高等 代数 实验 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5623362.html