MATLAB运用第十一章.ppt
《MATLAB运用第十一章.ppt》由会员分享,可在线阅读,更多相关《MATLAB运用第十一章.ppt(68页珍藏版)》请在三一办公上搜索。
1、,大学计算机基础系统工具与环境(理工科用),赵 欢 肖德贵 李丽娟 洪跃山 编著,第三部分 仿真及计算工具第11章 MATLAB应用,大学计算机基础系统工具与环境(理工科用),本章内容提要,11.1 MATLAB在高等数学中的应用11.2 MATLAB绘图11.3 MATLAB图像处理11.4 小结,11.1 MATLAB在高等数学中的应用,符号运算1.定义符号常量 符号数学工具箱中的函数sym()可以将一个数值常量A 定义成一个符号常量。其一般的使用形式为 sym(A)例如 将一组数值常量定义成符号常量。x=sym(sin(15)x=sin(15)y=sym(3*4-2)/5+1)y=(3*
2、4-2)/5+1,11.1 MATLAB在高等数学中的应用,2.定义符号变量 定义符号变量可以有两种方法:使用函数sym()或命令syms。其使用形式为 sym(x)或 syms x y 例如 定义符号变量及其表达式 a=sym(x)a=x b=sym(y)b=y f=a2+b2 f=x2+y2,11.1 MATLAB在高等数学中的应用,在该例中,定义符号x并赋值到符号变量a,同时利用a定义解析式f。需要注意的是,使用函数sym()每次只能定义一个符号变量,而使用syms一次可以定义多个符号变量。例如 定义符号变量及表达式 syms x y f=x2+y2 f=x2+y2,11.1 MATLA
3、B在高等数学中的应用,3.表达式求值 通过符号变量定义符号表达式以后,可以通过函数eval来求表达式的值。例如 符号常量表达式求值。x=sym(sin(15);eval(x)ans=0.6503 包含符号变量的表达式求值时,应对符号变量赋初值。,11.1 MATLAB在高等数学中的应用,包含符号变量的表达式求值时,应对符号变量赋初值。例如 符号变量表达式求值。syms x y f=x2+y2 f=x2+y2 x=5;y=4;eval(f)ans=41,11.1 MATLAB在高等数学中的应用,4.表达式化简 MATLAB 提供了化简和美化符号表达式的各种函数,具体有:合并同类项(collect
4、)、多项式展开(expand)、因式分解(factor)等。(1).合并同类项(collect):函数collect()调用的格式有两种。R=collect(S):对于多项式S 按默认独立变量的幂次降幂排列。R=collect(S,v):对指定的对象v 计算,操作同上。,11.1 MATLAB在高等数学中的应用,11.1 MATLAB在高等数学中的应用,(2).表达式展开(expand)利用函数expand()来展开符号表达式。其命令格式如下:R=expand(S)对符号表达式S 中每个因式的乘积进行展开计算。该命令通常用于计算多项式函数、三角函数、指数函数与对数函数等表达式的展开式。,11.
5、1 MATLAB在高等数学中的应用,syms x y a b c te1=expand(x-2)*(x-4)*(y-t)e1=8*y-8*t+6*t*x-6*x*y-t*x2+x2*y e2=expand(cos(x+y)e2=cos(x)*cos(y)-sin(x)*sin(y)e3=expand(exp(a+b)3)e3=exp(3*a*b2)*exp(3*a2*b)*exp(a3)*exp(b3),11.1 MATLAB在高等数学中的应用,e4=expand(log(a*b/sqrt(c)e4=log(a*b)/c(1/2)e5=expand(sin(2*t),cos(2*t)e5=2*
6、cos(t)*sin(t),cos(t)2-sin(t)2 e6=expand(x+1)3)e6=x3+3*x2+3*x+1,11.1 MATLAB在高等数学中的应用,(3).因式分解(factor)利用函数factor()来进行符号表达式的因式分解。其使用格式为:factor(X)参量X 可以是正整数、符号表达式矩阵。若X 为一正整数,则factor(X)返回X 的质数分解式。若X 为多项式或整数矩阵,则factor(X)分解矩阵的每一元素。例如 因式分解示例。syms a b x y f1=factor(x4-y4)f1=(x-y)*(x+y)*(x2+y2)f2=factor(a2-b2
7、,x3+y3)f2=(a-b)*(a+b),(x+y)*(x2-x*y+y2),11.1 MATLAB在高等数学中的应用,符号运算1.多项式表示 在 MATLAB 中,多项式被表示成行向量的形式,它的系数是按降幂排列的,即按降幂次序将多项式的系数组成行向量,就可以在MATLAB 中建立一个多项式。例如,多项式 在MATLAB 中,按下面方式组成一个行向量 f=-4 3 18 5 1 MATLAB 会将长度为n+1 的向量解释成一个n 次多项式。因此,若多项式某些项系数为零,则必须在向量中相应位置补零。,2.多项式求值 在MATLAB中多项式被表示为一个行向量,因此任何一个行向量都可当作一个多项
8、式,可以通过调用函数polyval来求多项式的值,使用格式为:y=polyval(p,x)其中,p为行向量,x作为参数,计算前必须赋值。,11.1 MATLAB在高等数学中的应用,3.多项式求根 多项式求根的函数是roots,返回结果可能是复数根。其使用格式为 y=roots(p)其中p为行向量,用于表示一个多项式。,11.1 MATLAB在高等数学中的应用,4.符号多项式 当已知多项式的系数时,可以利用函数poly2sym来构造符号多项式。例如 对于多项式系数向量p=-4 3 18 5 1构造符号多项式并求值。p=-4 3 18 5 1;f=poly2sym(p)f=-4*x4+3*x3+1
9、8*x2+5*x+1 x=5;y=eval(f)y=-1649,11.1 MATLAB在高等数学中的应用,5.从根创建多项式 假定已知多项式的根,则可以使用函数poly函数来求多项式向量,这个函数与roots是互逆函数。例如 已知多项式的根为2、5、1,求多项式。r=2;5;1;s=poly(r)s=1-8 17-10 这里创建了多项式,根分别为2、5、1。,11.1 MATLAB在高等数学中的应用,函数极限 1.一元函数的极限 假设已知函数,则极限问题一般描述为 其中L 可以是一个确定的值,也可以不是,对于某些问题来说,还可以是左右极限,在MATLAB中,直接调用函数limit来求极限,格式
10、如下(1)limit(expr,x,x0),其中expr为函数表达式,一般为符号表达式,x是变量,x0为极限点。(2)limit(expr,x,x0,left),expr、x、x0与上面格式相同,如果为左极限,则最后一个参数为left,否则为right。在上面格式中,极限点x0可以是inf或-inf,表示正、负无穷大。,11.1 MATLAB在高等数学中的应用,11.1 MATLAB在高等数学中的应用,2.多元函数的极限 多元函数极限一般可表示为 在MATLAB中,同样是通过调用函数limit来实现,格式如下(1)limit(limit(expr,x,x0),y,y0)(2)limit(lim
11、it(expr,y,y0),x,x0)如果x0或y0不是确定的值,而是另外一个变量的函数,则顺序不能改变。,11.1 MATLAB在高等数学中的应用,11.1 MATLAB在高等数学中的应用,函数求导1.函数的导数和高阶导数 如果函数和自变量都已知,则可以调用函数diff来求各阶导数,使用格式如下(1)y=diff(expr,x),expr为函数表达式,x为自变量,求一阶导数(2)y=diff(expr,x,n),求函数的n阶导数,11.1 MATLAB在高等数学中的应用,2.多元函数偏导数 多元函数偏导数仍然是通过调用diff来实现的,使用格式为 f=diff(diff(expr,x,m),
12、y,n)或者 f=diff(diff(expr,y,n),x,m),11.1 MATLAB在高等数学中的应用,函数积分不定积分 在MATLAB中,调用int函数直接求出符号函数表达式的不定积分解析式,使用格式为 F=int(expr,x),expr为函数的表达式,x为积分变量。,11.1 MATLAB在高等数学中的应用,2.定积分 在MATLAB中,函数int同样可以用于求定积分,使用格式为F=int(expr,x,a,b),expr为函数的表达式,x为积分变量,a,b为积分区间。,级数运算 1.泰勒(Taylor)展开式 根据泰勒定理,函数f(x)在x0的展开形式为:其中R,为截断误差,也称
13、为拉格朗日余项。如果,上式又称为麦克劳林(Maclaurin)公式。事实上,要使用泰勒公式求函数的近似值是一件非常困难的事情,因为需要计算多项,特别是要计算高阶导数,调用MATLAB中的函数taylor可以直接导出泰勒公式,其使用格式为(1)taylor(expr,x,k),expr为函数符号表达式,x为自变量,该方式为将函数在 0处做泰勒展开,k为展开项数。(2)taylor(expr,x,k,a),该方式为将函数在a 处做泰勒展开。,11.1 MATLAB在高等数学中的应用,11.1 MATLAB在高等数学中的应用,2.级数求和 对于具有通项公式的级数,MATLAB提供了函数symsum来
14、计算级数和,具体使用格式为 symsum(expr,n,a,b)expr为通项公式表达式,n为级数变量,a和b分别表示开始项和结束项。,11.1 MATLAB在高等数学中的应用,矩阵及线性方程组 1.零矩阵、幺矩阵和单位矩阵 在矩阵理论中,将所有元素全为0的矩阵称为零矩阵,把所有元素全为1的矩阵称为幺矩阵,而将对角线元素全为1而其余元素全为0的矩阵称为单位矩阵。使用格式分别如下:(1)A=zeros(m),B=ones(m),C=eye(m),分别生成mm阶零矩阵A、幺矩阵B和单位矩阵C。(2)A=zeros(m,n),B=ones(m,n),C=eye(m,n),分别生成mn阶零矩阵A、幺矩
15、阵B和单位矩阵C。,11.1 MATLAB在高等数学中的应用,例如 下面分别生成零矩阵、幺矩阵和单位矩阵。,A=zeros(3)A=0 0 0 0 0 0 0 0 0 B=ones(3)B=1 1 1 1 1 1 1 1 1 C=eye(3)C=1 0 0 0 1 0 0 0 1,D=zeros(2,3)D=0 0 0 0 0 0 E=ones(2,3)E=1 1 1 1 1 1 F=eye(2,3)F=1 0 0 0 1 0,11.1 MATLAB在高等数学中的应用,2.随机矩阵和魔方矩阵 使用函数rand()可以生成一个01之间的随机数,而使用rand(m,n)则可以生成一个mn阶随机矩阵
16、,使用rand(m)生成的是mm阶随机方阵 魔方矩阵是指生成的方阵行、列、对角线之和相等的矩阵,通过函数magic(m)来实现。例如 生成23阶随机方阵以及5阶魔方矩阵。rand(2,3)ans=0.7655 0.1869 0.4456 0.7952 0.4898 0.6463,magic(3)ans=8 1 6 3 5 7 4 9 2,11.1 MATLAB在高等数学中的应用,3.对角矩阵 对角矩阵的生成是通过调用函数diag来实现的,其基本格式为(1)diag(p),生成以向量p的元素构成的对角矩阵,矩阵大小由p的元素个数决定。(2)diag(p,k),将向量p的元素分布在对角线偏上或偏下
17、的斜列上,k0,代表上部,k0代表下部,k=0时与(1)相同,生成的矩阵阶数=p的元素个数+k。,11.1 MATLAB在高等数学中的应用,3、矩阵行列式、秩、逆和条件数 在MATLAB中,通过调用函数det、rank、inv、cond即可分别求的矩阵的行列式的值、秩、矩阵的逆和条件数。,11.1 MATLAB在高等数学中的应用,4.线性方程组求解 考虑线性方程组,很显然,利用矩阵的逆可以直接求解线性方程组:这也称为直接法;也可以直接利用之前介绍的反除,即。,5.矩阵的三角分解 根据线性代数理论,如果矩阵A是非奇异矩阵,则它一定可以分解为一个非奇异的单位下三角矩阵和非奇异上三角矩阵,使得 成立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 运用 第十一
链接地址:https://www.31ppt.com/p-6512192.html