补充知识符号运算_第1页
补充知识符号运算_第2页
补充知识符号运算_第3页
补充知识符号运算_第4页
补充知识符号运算_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB的符号运算1符号数学基础2符号对象是一种数据结构,包括符号常数、符号变量和符号表达式。符号常数、符号变量、符号函数、符号操作等则是用来形成符号表达式,严格按照代数、微积分等课程中的规则、公式进行运算,并尽可能给出解析表达式结果。数值表达式的变量必须事先被赋值。符号对象也要先被定义,然后才能进行符号运算。Matlab具有符号数学工具箱(SymbolicMathToolbox),以Maple的内核为符号运算的引擎.3符号表达式的建立创建符号常量(将字符或者数字转换为符号)Sym(‘常量’)

例:>>a=sym(‘sin(2)’)Sym(常量,参数)例:>>a=sym(sin(2),‘d’)参数作用d返回最接近的十进制数值(默认32位)f返回最接近的浮点表示r返回最接近的有理数型(为系统默认方式),表示为p/q,p*q,10^q,pi/q,2^q,sqrt(p)形式之一e返回最接近的带有机器浮点误差的有理值4例:>>a1=2*sqrt(5)+pi>>a2=sym(‘2*sqrt(5)+pi’)>>a3=sym(2*sqrt(5)+pi)>>a4=sym(2*sqrt(5)+pi,’d’)>>a31=a3-a1>>a5=‘2*sqrt(5)+pi’5sym(‘argv’,flagv)%falgv的取值可以为positive,real,和unreal。

>>sym(‘x’,’real’)>>sym(‘y’,’unreal’)syms(’arg1’,’arg2’,…,flagv)%定义字符串变量为符号变量Symsarg1arg2…,flagv >>symsabcx>>syms(‘a’,’b’,’c’,’x’)f=sym(‘表达式’)>>z=sym(‘x+iy’)创建符号变量和表达式6使用sym和syms也可以创建符号矩阵

>>sym(‘[a,b;c,d]’)>>symsabcd>>A=[ab;cd]>>B=‘[ab;cd]’>>C=sym(B)

创建符号矩阵7eval()函数功能是将括号内的字符串视为语句并运行

比如eval('y1=sin(2)')和语句y1=sin(2)等价.多在循环中使用,可以对多个名字有规则的变量或文件进行操作,比如forx=1:5eval(['y',num2str(x),'=',num2str(x^2),';'])end

8

默认符号变量的确定

findsym(EXPR)

确认表达式EXPR中所有“自由”符号“变量”findsym(EXPR,N)

从表达式EXPR中确认出靠x最近的N个独立自变量。注:EXPR可以是符号矩阵。此时,该指令对自由变量的确认是对整个矩阵进行的,而不是对矩阵元素逐个进行的。符号对象的操作和转换910

符号对象与其它数据对象间的转换数值、符号、字符是MATLAB中的三种不同的数据类型。MATLAB为每种数据类型提供了特定的生成指令和操作指令。为实现不同数据类型的交互,MATLAB提供了一系列转换指令。

数值型符号结果符号常数符号量(表达式)数值字符串(表达式)ASCII码vpavpadoubledoublesymcharsymdoublecharstr2numstr2doublesscanfint2strnum2strmat2strsprintf11符号表达式的操作

符号表达式的书写有多种形式:多项式表达形式因式形式表达形式嵌套形式表达形式符号运算中有许多操作指令,如collect(合并同类项)、expand(对指定项展开)、factor(进行因式或因子分解)、horner(转换成嵌套形式)、numden(提取公因式)、simplify(恒等式简化)、pretty(习惯方式显示),simple等。12

求反函数和复合函数finverse(f,v)

%求f(v)的反函数compose(f,g)

%求f(x)和g(y)的复合函数f(g(y))compose(f,g,’z’)

%求f(x)和g(y)的复合函数f(g(z))compose(f,g,’x’,’z’)

%以x为自变量构成复合函数f(g(z))compose(f,g,’x’,’y’’z’)

%以x为自变量构成复合函数f(g(z)),并用z替换y13符号微积分与数值计算相比,一般说来,符号计算需要消耗更多的计算机资源,但这并不意味着符号计算可有可无。在某些场合,符号计算处理问题反比数值计算更为简明快捷。14

符号极限limit(F,x,a)

计算符号表达式F在x→a条件下的极限limit(F,a)

计算符号表达式F中默认自变量趋向于a条件下的极限limit(F)

计算符号表达式F在默认自变量趋向于0时的极限limit(F,x,a,’right’)和limit(F,x,a,’left’)

计算符号表达式F在x→a条件下的右极限和左极限15

符号微分dfdvn=diff(f,v,n)f是矩阵时,求导对元素逐个进行,但自变量定义在整个矩阵上。v确省时,自变量会自动由findsym确认;n缺省时,默认n=1。注意:在数值计算中,指令diff是用来求差分的。16

符号积分intf=int(f,v)给出f对指定变量v的不定积分Intf=int(f,v,a,b)给出f对指定变量v的定积分

-与数值积分相比,符号积分指令简单,适应性强,但可能占用机器时间很长。

-有时符号积分也可能给出相当冗长而生疏的“闭”符号表达式,有时可能给不出“闭”解。凡MATLAB求积不能给出“闭”解时,int运行结束将给出警告提示和积分的原式。17

符号序列的求和数学上的通式求和问题,可用MATLAB的求和指令解决。s=symsum(f,v,a,b)

求通式f在指定变量v取遍[a,b]中所有整数时的和注:f是矩阵时,求和对元素逐个进行,但自变量定义在整个矩阵上。v确省时,f中的自变量由findsym自动辨识;b可以取有限整数,也可以取无穷大18Taylor级数展开taylor(f)

计算符号表达式f在默认自变量等于0处的5阶Taylor级数展开式taylor(f,n,v)

计算符号表达式f在指定变量v=0处的n-1阶Taylor级数展开式19第五节符号代数方程和微分方程一般代数方程组的解S=solve(‘eq1’,’eq2’,…,’eqn’,’v1’,’v2’,…,’vn’)

求方程组关于指定变量的解(推荐格式)S=solve(eq1,eq2,…,eqn,v1,v2,…,vn)

求方程组关于指定变量的解(可用格式)eq可以是含等号的符号表达式的方程,也可是是不含等号的符号表达式,此时指的是eq=0的方程当v省略时,默认为方程中的自由变量输出结果为结构数组。20

符号微分方程的求解S=dsolve(‘eq1,eq2…’,’con1,con2…’,’v1,v2’)

求解常微分方程最完整、通用的指令调用格式Eq为微分方程级,con为初始条件,可省略;v为指定变量,省略时则默认为x或t;输出结果为结构数组;在微分方程中,y的一阶导数dy/dx表示为Dy;y的n阶导数表示为Dny;Con应写成’y(a)=b,dy(c)=d’的格式,初始条件数目少于微分方程数时,在所得解中会出现任意常C1,C2…。示例:求解两点边值问题:xy''-3y'=x^2,y(1)=0,y(5)=0。21ezplot(F):在[-2pi,2pi]自变量范围中,绘制F曲线ezplot(F,[xmin,xmax]):在指定自变量范围,绘制F曲线ezplot(F,[xmin,xmax],fig):在fig指定的图形窗内,在指定自变量范围,绘制F曲线ezplot3(x,y,z,[tmin,tmax],’animate’)绘制三维曲线第五节符号函数的可视化22函数绘图的简捷指令指令名含义ezcontour画等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论