数值分析助教讲的MATLAB课件.ppt
《数值分析助教讲的MATLAB课件.ppt》由会员分享,可在线阅读,更多相关《数值分析助教讲的MATLAB课件.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、LOGO数值逼近实验数值逼近实验HustContentsMatlab概述概述1基本数值计算与多项式基本数值计算与多项式2拟合和插值拟合和插值3图形处理图形处理4Hust1Matlab概述概述 MATLAB的主要功能的主要功能数值计算和符号计算功能数值计算和符号计算功能MATLAB以矩阵作为数据操作的基本单位,还提供以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。了十分丰富的数值计算函数。MATLAB和著名的符号计算语言和著名的符号计算语言Maple相结合,使相结合,使得得MATLAB具有符号计算功能。具有符号计算功能。绘图功能绘图功能MATLAB提供了两个层次的绘图操作:一种是对
2、图提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。绘图操作之上的高层绘图操作。Hust编程语言编程语言MATLAB具有程序结构控制、函数调用、具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。言特征,而且简单易学、编程效率高。MATLAB工具箱工具箱 MATLAB包含两部分内容:基本部分和各包含两部分内容:基本部分和各种可选的工具箱。种可选的工具箱。MATLAB工具箱分为两大类:功能性工具工具箱分为两大类:功
3、能性工具箱和学科性工具箱。箱和学科性工具箱。Hust MATLAB的优点的优点容易使用(允许数学形式的语言编写程序;由容易使用(允许数学形式的语言编写程序;由C语言开发)语言开发)可以由多种操作系统支持(便于程序的移植)可以由多种操作系统支持(便于程序的移植)丰富的内部函数(强大的工具箱,丰富的内部函数(强大的工具箱,eg:Wavlet Toolbox,Financial Toolbox)强大的图形和符号功能强大的图形和符号功能可以自动选择算法(许多功能函数都带有算法可以自动选择算法(许多功能函数都带有算法的自适应能力)的自适应能力)与其它软件和语言有很好的对接性与其它软件和语言有很好的对接性
4、Hust MATLAB的缺点的缺点由于由于MATLAB是一种合成语言,因此,与一般是一种合成语言,因此,与一般的高级语言相比,用的高级语言相比,用MATLAB编写的程序运行编写的程序运行起来时间往往要长一些。起来时间往往要长一些。费用昂贵费用昂贵然而,相对于然而,相对于MATLAB的优点来说,它的缺点的优点来说,它的缺点是微不足道的,而且,随着是微不足道的,而且,随着MATLAB版本的不版本的不断升级,它的缺点已经变得越来越不明显。掌断升级,它的缺点已经变得越来越不明显。掌握握MATLAB,必将给我们的学习、科研和工作,必将给我们的学习、科研和工作带来极大的帮助。带来极大的帮助。Hust MA
5、TLAB的基本操作符及命令的基本操作符及命令表表1.数值运算符号数值运算符号符符 号号功功 能能实实 例例+加法1+2-减法1-2*乘法1*2/、除法1/2或是21乘方21Hust表表2.MATLAB 7.0中常用的标点中常用的标点标点符号标点符号定义定义标点符号标点符号定义定义;区分行,取消运行显示等.小数点以及域访问等,区分列,函数参数分隔符等连接语句:在数组中应用较多字符串的标识符号()指定运算优先级等=赋值符号矩阵定义的标志等!调用操作系统运算用于构成单元数组等%注释语句的标识Hust表表3.常用的操作命令常用的操作命令命命 令令该命令的功能该命令的功能命命 令令该命令的功能该命令的功
6、能cd显示或改变工作目录hold图形保持命令clc清除工作窗load加载指定文件的变量clear清除内存变量pack整理内存碎片clf清除图形窗口path显示搜索目录diary日志文件命令quit退出MATLAB 7.0dir显示当前目录下文件save保存内存变量到指定文件disp显示变量或文字内容type显示文件内容echo工作窗信息显示开关help查看帮助Hust表表4.常用的键盘操作和快捷键常用的键盘操作和快捷键键盘按钮和快捷键键盘按钮和快捷键该操作的功能该操作的功能键盘按钮和快捷键键盘按钮和快捷键该操作的功能该操作的功能(Ctrl+p)调用上一行Home(Ctrl+a)光标置于当前行开
7、头(Ctrl+n)调用下一行End(Ctrl+e)光标置于当前行结尾(Ctrl+b)光标左移一个字符Esc(Ctrl+u)清除当前输入行(Ctrl+f)光标右移一个字符Del(Ctrl+d)删除光标处字符Ctrl+光标左移一个单词Backspace(Ctrl+h)删除光标前字符Ctrl+光标右移一个单词Alt+Backspace恢复上一次删除Hust表表5.MATLAB 7.0的常用常量的常用常量常量常量常量的功能常量的功能常量常量常量的功能常量的功能ans用作结果的默认变量名nargin函数的输入参数个数beep使计算机发出“嘟嘟”声nargout函数的输出参数个数pi圆周率varagin可
8、变的函数输入参数个数eps浮点数相对误差varagout可变的函数输出参数个数inf无穷大realmin最小的正浮点数NaN或nan不定数realmax最小的正浮点数i或j复数单位bitmax最大的正整数Hust表表6.MATLAB 7.0常用函数表常用函数表函函 数数 名名函函 数数 功功 能能函函 数数 名名函函 数数 功功 能能sin正弦pow2以2为底幂函数sinh双曲正弦sqrt平方根asin反正弦abs模cos余弦sec正割tan正切csc余割exp指数log自然对数log10以10为底对数log2以2为底对数cot余切angle相角conj复共轭cross向量叉积sign符号函数
9、beta函数round四舍五入gammaGamma函数Hust2基本数值计算与多项式基本数值计算与多项式 向量及其运算向量及其运算1.1 向量的生成向量的生成 在命令窗口中直接输入向量在命令窗口中直接输入向量 在在MATLAB 7.0中,生成向量最简单的方法就是中,生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用要求是,向量元素用“”括起来,元素之间用括起来,元素之间用空格、逗号或分号相隔。空格、逗号或分号相隔。注意:用空格或逗号生成行向量,用分号生成列向量。注意:用空格或逗号生成行向量,用分号生成列向量。要在行和列
10、向量间进行转置,使用命令要在行和列向量间进行转置,使用命令“”Hust 等差元素向量的生成等差元素向量的生成v冒号冒号(:)生成法:基本格式为向量生成法:基本格式为向量Vec=Vec0:n:Vecn,其中其中Vec表示生成的向量,表示生成的向量,Vec0表示第一个元素,表示第一个元素,n表示步长,表示步长,Vecn表示最后一个元素。当表示最后一个元素。当n为默认时,为默认时,系统将默认为系统将默认为1v使用使用linspace函数:这是一个线性等分向量函数,基函数:这是一个线性等分向量函数,基本格式为本格式为Vec=linspace(Vec0,Vecn,n),其中,其中Vec表示生表示生成的向
11、量,成的向量,Vec0表示第一个元素,表示第一个元素,Vecn表示最后一表示最后一个元素,个元素,n表示生成向量元素的个数。当表示生成向量元素的个数。当n为默认时,为默认时,系统将默认为系统将默认为100Hust1.2 向量的基本运算向量的基本运算向量的基本运算包括向量与数的四则运向量的基本运算包括向量与数的四则运算、向量与向量之间的加减运算、向量算、向量与向量之间的加减运算、向量之间的点积、向量之间的叉积和向量之之间的点积、向量之间的叉积和向量之间的混合积等。下面将对它们分别予以间的混合积等。下面将对它们分别予以介绍。介绍。Hust 向量与数的四则运算向量与数的四则运算向量与数的加法(减法、
12、乘法、除法):向量中的向量与数的加法(减法、乘法、除法):向量中的每个元素与数的加法(减法、乘法、除法)运算。每个元素与数的加法(减法、乘法、除法)运算。当进行除法运算时,向量只能作为被除数,数只能当进行除法运算时,向量只能作为被除数,数只能作为除数。作为除数。向量与向量之间的加减运算向量与向量之间的加减运算向量与向量的加法(减法)运算:向量中的每个元向量与向量的加法(减法)运算:向量中的每个元素与另一个向量中相对应的元素的加法(减法)运素与另一个向量中相对应的元素的加法(减法)运算。算。klHust叉积、点积和混合积叉积、点积和混合积u向量的点积:在向量的点积:在MATLAB 7.0中,提供
13、有专门计中,提供有专门计算向量点积的函数算向量点积的函数dot。此时要注意各向量维数的此时要注意各向量维数的一致性。一致性。u向量的叉积:在向量的叉积:在MATLAB 7.0中,提供有专门计中,提供有专门计算向量点积的函数算向量点积的函数cross。此时除了要注意各向量此时除了要注意各向量维数的一致性外,由几何意义可知,向量维数只维数的一致性外,由几何意义可知,向量维数只能为能为3u向量的混合积:向量的混合积由以上介绍的两个向量的混合积:向量的混合积由以上介绍的两个函数函数dot和和cross得以实现。得以实现。应当注意的是,在求向应当注意的是,在求向量的混合积时,函数的顺序不可颠倒,否则将会
14、量的混合积时,函数的顺序不可颠倒,否则将会出现错误。出现错误。Hust2.矩阵及其运算矩阵及其运算2.1矩阵的生成矩阵的生成 矩阵的生成有多种方式,通常使用的有矩阵的生成有多种方式,通常使用的有4种方法:种方法:u在命令窗口中直接输入矩阵在命令窗口中直接输入矩阵u通过语句和函数产生矩阵通过语句和函数产生矩阵u在在M文件中建立矩阵文件中建立矩阵u在外部的数据文件中导入矩阵在外部的数据文件中导入矩阵其中在命令窗口中直接输入矩阵是最简单最常用的创建其中在命令窗口中直接输入矩阵是最简单最常用的创建数值矩阵的方法。比较适合于创建较小的简单矩阵,把数值矩阵的方法。比较适合于创建较小的简单矩阵,把矩阵的元素
15、直接排列到方括号中,每行内的元素用空格矩阵的元素直接排列到方括号中,每行内的元素用空格或逗号相隔,行与行之间的内容用分号相隔。或逗号相隔,行与行之间的内容用分号相隔。Hust2.2 矩阵的基本数值运算矩阵的基本数值运算矩阵的基本运算通常包括有矩阵与常数矩阵的基本运算通常包括有矩阵与常数的四则运算、矩阵与矩阵之间的四则运的四则运算、矩阵与矩阵之间的四则运算以及矩阵的逆运算等。下面将对这些算以及矩阵的逆运算等。下面将对这些运算予以简单的介绍。运算予以简单的介绍。Hust 矩阵与常数的四则运算矩阵与常数的四则运算矩阵与常数的四则运算即是指矩阵各元素与常数之矩阵与常数的四则运算即是指矩阵各元素与常数之
16、间的四则运算。间的四则运算。当进行除法运算时,常数通常只能当进行除法运算时,常数通常只能作为除数。作为除数。矩阵之间的四则运算矩阵之间的四则运算u矩阵与矩阵的加法(减法)即是指矩阵各元素之间矩阵与矩阵的加法(减法)即是指矩阵各元素之间的加法(减法)运算。的加法(减法)运算。矩阵必须具有相同的阶数时矩阵必须具有相同的阶数时才可以进行加法(减法)运算。才可以进行加法(减法)运算。Hustu矩阵与矩阵的乘法:使用运算符矩阵与矩阵的乘法:使用运算符“*”。此此时必须左矩阵的列数等于右矩阵的行数。时必须左矩阵的列数等于右矩阵的行数。u矩阵与矩阵的除法:在矩阵与矩阵的除法:在MATLAB 7.0中,中,矩
17、阵的除法有左除和右除两种,分别以符矩阵的除法有左除和右除两种,分别以符号号“”和和“/”表示。通常矩阵的除法用表示。通常矩阵的除法用于求解方程组的解。于求解方程组的解。一般情况下,一般情况下,X=AB表示表示A*X=B的解,而的解,而X=B/A表示表示X*A=B的解。的解。Hust2.3 常用的矩阵特征值函数常用的矩阵特征值函数:矩阵的乘方运算矩阵的乘方运算sqrtm:矩阵的开方运算矩阵的开方运算expm:矩阵的指数运算矩阵的指数运算logm:矩阵的对数运算矩阵的对数运算det:求矩阵的行列式求矩阵的行列式eig(s):求矩阵的特征值和特征向量求矩阵的特征值和特征向量inv:矩阵求逆矩阵求逆p
18、oly:求矩阵的特征多项式求矩阵的特征多项式polyvalm:求矩阵多项式的值求矩阵多项式的值rank:求矩阵的秩求矩阵的秩trace:求矩阵的迹求矩阵的迹Hust2.4 常用的特殊矩阵生成函数常用的特殊矩阵生成函数:生成空矩阵生成空矩阵zeros:生成生成0矩阵矩阵eye:生成单位矩阵生成单位矩阵ones:生成全生成全1矩阵矩阵diag:生成对角矩阵生成对角矩阵hilb:生成生成Hilbert矩阵矩阵magic:生成魔术矩阵生成魔术矩阵rand:生成服从生成服从01分布的随机矩阵分布的随机矩阵randn:生成服从正态分布的随机矩阵生成服从正态分布的随机矩阵vander:生成范德蒙矩阵生成范德
19、蒙矩阵Hust3.数组及其运算数组及其运算在在MATLAB 7.0中,数组和矩阵在形式上中,数组和矩阵在形式上有很多一致性,但是实际上它们遵循不有很多一致性,但是实际上它们遵循不同的运算规则。初学者容易将两者混淆,同的运算规则。初学者容易将两者混淆,导致语法错误,使程序无法正常运行。导致语法错误,使程序无法正常运行。因此,本节将对数组及其运算做出简要因此,本节将对数组及其运算做出简要介绍,以便减少这类错误。介绍,以便减少这类错误。Hust3.1 数组寻址数组寻址由于数组是由多个元素组成的,因此,在访问数组由于数组是由多个元素组成的,因此,在访问数组中的单个或多个元素时,有必要对数组进行寻址运算
20、。中的单个或多个元素时,有必要对数组进行寻址运算。访问单个元素时,可以直接采用访问下表的方法。访问单个元素时,可以直接采用访问下表的方法。如:要访问数组如:要访问数组A的第的第4个元素,直接输入个元素,直接输入A(4)即可。即可。如果用户需要一次访问一块数据,可以使用冒号。如果用户需要一次访问一块数据,可以使用冒号。如:要访问如:要访问A中的第中的第2到第到第6个元素,输入个元素,输入A(2:6)或或A(6:-1:2)使用冒号只能访问数组中的连续元素,如要访问多使用冒号只能访问数组中的连续元素,如要访问多个不连续的元素,可以使用中括号进行操作。如:要访问个不连续的元素,可以使用中括号进行操作。
21、如:要访问A中的中的1、3、7、4号元素,输入号元素,输入A(1 3 7 4)此外,此外,MATLAB 7.0还提供了还提供了end参数来表示数组的参数来表示数组的结尾。结尾。Hust3.2 数组的基本数值运算数组的基本数值运算简单来说,简单来说,MATLAB 7.0数组运算符由矩阵运算符前数组运算符由矩阵运算符前面增加一点面增加一点“.”来表示,例如来表示,例如“.*”、“./”和和“.”等。等。数组的加法(减法)运算与矩阵的加法(减法)运算数组的加法(减法)运算与矩阵的加法(减法)运算相同,因此运算符号相同,因此运算符号“+”(“-”)既可以被矩阵接)既可以被矩阵接受,也可以为数组接受。受
22、,也可以为数组接受。数组的乘法(除法)运算用符号数组的乘法(除法)运算用符号“.*”(“./”)表)表示。如果数组示。如果数组X与数组与数组Y有相同的维数,则有相同的维数,则X.*Y表示表示X和和Y中单个元素之间的对应乘积,中单个元素之间的对应乘积,需要注意的是,需要注意的是,X和和Y要有相同的维数,这样数组的乘法才有意义。要有相同的维数,这样数组的乘法才有意义。对对于数组的除法运算,与乘法类似。于数组的除法运算,与乘法类似。Hust数组的乘方运算用符号数组的乘方运算用符号“.”表示,数组的表示,数组的乘方运算有乘方运算有3种不同的形式。种不同的形式。u两个数组之间的乘方运算。如:两个数组之间
23、的乘方运算。如:X.Yu1个数组的某个具体数值的乘方,即计算数组个数组的某个具体数值的乘方,即计算数组乘方运算时指数为标量。如:乘方运算时指数为标量。如:X.3u1个数组为指数,底数为标量。如:个数组为指数,底数为标量。如:3.X以上以上3种形式的运算都是指数组对应元素的乘种形式的运算都是指数组对应元素的乘方运算。方运算。Hust4.多项式多项式4.1多项式的创建多项式的创建在在MATLAB 7.0语言中,对于多项式语言中,对于多项式约定可以用向量约定可以用向量 来表示,这来表示,这样,多项式问题就被转换为向量问题。样,多项式问题就被转换为向量问题。可以使用可以使用3种方法创建多项式,即直接输
24、入系数向量种方法创建多项式,即直接输入系数向量法、特征多项式输入法和由根创建法。下面分别予以介绍。法、特征多项式输入法和由根创建法。下面分别予以介绍。Hust直接输入系数向量创建多项式直接输入系数向量创建多项式直接输入向量,直接输入向量,MATLAB 7.0将按降幂自动把向量的元将按降幂自动把向量的元素分配给多项式各项的系数。而该向量可以是行向量,也可素分配给多项式各项的系数。而该向量可以是行向量,也可以是列向量。以是列向量。如:要创建多项式如:要创建多项式,首先创建系数向,首先创建系数向量,注意缺少的各项在向量中以量,注意缺少的各项在向量中以0代替。然后使用代替。然后使用poly2sym函数
25、将该向量转化为多项式,使用函数将该向量转化为多项式,使用disp函数不显示函数不显示“y=”。具体操作为依次输入具体操作为依次输入P=3 5 0 1 0 12;y=poly2sym(P);disp(y)Hust特征多项式输入法特征多项式输入法使用使用poly函数可以由矩阵的特征多项式创建多项式。使函数可以由矩阵的特征多项式创建多项式。使用该方法生成多项式时,其首项的系数必为用该方法生成多项式时,其首项的系数必为1。其使用格式。其使用格式如下:如下:v当当A是一个是一个NN矩阵时,矩阵时,poly(A)命令求出命令求出A的特征多项的特征多项式式v若若V是向量,命令是向量,命令poly(V)生成以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 助教 MATLAB 课件
限制150内