收藏 分享(赏)

Matlab+符号运算.ppt

上传人:精品资料 文档编号:9854661 上传时间:2019-09-11 格式:PPT 页数:29 大小:669.50KB
下载 相关 举报
Matlab+符号运算.ppt_第1页
第1页 / 共29页
Matlab+符号运算.ppt_第2页
第2页 / 共29页
Matlab+符号运算.ppt_第3页
第3页 / 共29页
Matlab+符号运算.ppt_第4页
第4页 / 共29页
Matlab+符号运算.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、Matlab 符号运算,所谓符号计算是指在运算时,无须事先对变量赋值,而将所得到结果以标准的符号形式来表示。如y=a*x2+b*x a,b,x就是以a, b ,x的形式出现,这时a b x都是符号对象。,Matlab 符号运算介绍,Matlab 符号运算是通过符号数学工具箱(Symbolic Math Toolbox)来实现的。此工具箱已默认安装。,Matlab 的符号数学工具箱可以完成几乎所有得符号运算功能。主要包括:符号表达式的运算(加减等),符号表达式的化简,符号矩阵的运算,符号微积分、符号作图,符号代数方程求解,符号微分方程求解等。,复习:符号函数(显函数、隐函数和参数方程)画图,(1

2、) ezplot,ezplot(x(t),y(t),tmin,tmax),ezplot(f(x),a,b),ezplot(f(x,y),xmin,xmax,ymin,ymax),(2) fplot(格式相对ezplot单一),fplot(fun,lims),(3)空间曲面绘图: ezmesh、ezsurf,Matlab 符号运算举例,求一元二次方程 ax2 + bx + c = 0 的根, solve(a*x2+b*x+c),求的根 f (x) = (cos x)2 的一次导数, x=sym(x); diff(cos(x)2)(为什么引号可以去掉),计算 f (x) = x2 在区间 a, b

3、 上的定积分, syms a b x; int(x2,a,b),在进行符号运算时,必须先定义基本的符号对象,可以是符号常量、符号变量、符号表达式等。,符号对象与符号表达式,含有符号的表达式称为符号表达式,Matlab 在内部把符号表达式表示成字符串,以与数字变量相区别。,符号矩阵/数组:元素为符号表达式的矩阵/数组。,sym 函数用来建立单个符号变量,一般调用格式为:,符号对象的建立:sym 和 syms,符号对象的建立, b=sym(1/3), c=sym(1 ab; c d),例如:A = sym(a , 2*b ; 3*a , 0)A = a, 2*b3*a, 0这就完成了一个符号矩阵的

4、创建。 注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的一个重要区别。,符号对象的建立:sym 和 syms,符号对象的建立,syms 命令用来建立多个符号变量,一般调用格式为:,syms 符号变量1 符号变量2 . 符号变量n, a=sym(a); b=sym(b); c=sym(c);,符号表达式的建立:,例:,建立符号表达式通常有以下2种方法: (1) 用 sym 函数直接建立符号表达式。 (2) 使用已经定义的符号变量组成符号表达式。, y=sym(sin(x)+cos(x), x=sym(x); y=sin(x)+cos(x),符号表达式的建立,Matlab 符

5、号运算采用的运算符和基本函数,在形状、名称和使用上,都与数值计算中的运算符和基本函数完全相同,符号对象的基本运算,六类常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,计算导数,计算积分,符号求和,代数方程和微分方程求解,因式分解,因式分解,factor(f), syms x; f=x6+1; factor(f),函数展开,函数展开,expand(f), syms x; f=(x+1)6; expand(f),多项式展开,三角函数展开, syms x y; f=sin(x+y); expand(f),合并同类项,合并同类项,collect(f,v): 按指定变量 v 进行合并 col

6、lect(f): 按默认变量进行合并, syms x y; f= x2*y + y*x - x2 + 2*x ; collect(f) collect(f,y),函数简化,函数简化,y=simple(f): 对 f 尝试多种不同的算法进行简化,返回其中最简短的形式,y=simplify(f): 对 f 进行简化, syms x; f=sin(x)2 + cos(x)2 ; simplify(f),函数简化举例, syms x; f=(1/x3+6/x2+12/x+8)(1/3); y1=simplify(f),例:简化,计算极限,limit(f,x,a): 计算 limit(f,a): 当默认

7、变量趋向于 a 时的极限 limit(f): 计算 a=0 时的极限 limit(f,x,a,right): 计算右极限 limit(f,x,a,left): 计算左极限,例:计算 ,, syms x h n; L=limit(log(x+h)-log(x)/h,h,0) M=limit(1-x/n)n,n,inf),计算导数,g=diff(f,v):求符号表达式 f 关于 v 的导数 g=diff(f):求符号表达式 f 关于默认变量的导数 g=diff(f,v,n):求 f 关于 v 的 n 阶导数,diff, syms x; f=sin(x)+3*x2; g=diff(f,x),计算积分

8、,int(f,v,a,b): 计算定积分 int(f,a,b): 计算关于默认变量的定积分 int(f,v): 计算不定积分 int(f): 计算关于默认变量的不定积分, syms x; f=(x2+1)/(x2-2*x+2)2; I=int(f,x) K=int(exp(-x2),x,0,inf),例:计算 和,符号求和, syms n; f=1/n2; S=symsum(f,n,1,inf) S100=symsum(f,n,1,100),symsum(f,v,a,b): 求和 symsum(f,a,b): 关于默认变量求和,例:计算级数 及其前100项的部分和,例:计算函数级数, syms

9、 n x; f=x/n2; S=symsum(f,n,1,inf),Matlab 多项式运算与代数方程求解器,Matlab 多项式运算,Matlab 中多项式的表示方法,在 Matlab 中,n 次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为 0。,注:系数中的零不能省!,例:,多项式显示: poly2sym(p,x),多项式四则运算,多项式加减运算,Matlab 没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算,对于次数相同的多项式,可以直接对其系数向量进行加减运算;如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用 0

10、补足,然后进行加减运算。,例:,多项式四则运算,多项式乘法运算:,k = conv(p,q),多项式除法运算:,k,r = deconv(p,q),其中 k 返回的是多项式 p 除以 q 的商,r 是余式。,k,r=deconv(p,q),p=conv(q,k)+r,多项式的求导,polyder,k=polyder(p) : 多项式 p 的导数; k=polyder(p,q): p*q 的导数; k,d=polyder(p,q): p/q 的导数,k 是分子,d 是分母, k1=polyder(2,-1,0,3); k2=polyder(2,-1,0,3,2,1); k2,d=polyder(

11、2,-1,0,3,2,1);,例:已知 , ,求,多项式的值,计算多项式在给定点的值,代数多项式求值,y = polyval(p,x): 计算多项式 p 在 x 点的值,注:若 x 是向量或矩阵,则采用数组运算 (点运算)!,多项式的值,矩阵多项式求值,Y=polyvalm(p,X),采用的是普通矩阵运算,X 必须是方阵, p=2,-1,0,3; x=-1, 2;-2,1;polyval(p,x) polyvalm(p,x),多项式的零点,x=roots(p):若 p 是 n 次多项式,则输出是 p=0 的 n 个根组成的 n 维向量。,若已知多项式的全部零点,则可用 poly 函数给出该多项式,p=ploy(x),poly2sym(p,x) k = conv(p,q) k,r = deconv(p,q),k = polyder(p) k,d = polyder(p,q) k,d = polyder(p,q),y = polyval(p,x)Y = polyvalm(p,X),x = roots(p),多项式运算小结,多项式运算中, 使用的是多项式 系数向量, 不涉及符号计算!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报