- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前面我们介绍的都是数值计算,它的操作对象都有确定的值,如果未对某个变量赋值而执行命令,MATLAB则会给出错误信息。例: clear %清除所有变量 A=x*3 %x未赋值 则会出现 ???Undefined function or Variable ‘x’ 如果看成符号运算,则不会出现错误信息。 符号计算定义在符号变量的基础上,符号表达式计算前必须定义符号变量,否则出错。 符号计算是精确计算。符号运算不需要进行数值运算,不会出现截断误差,因此符号运算是非常准确的,可以得出任意精度的数值解。 与数值计算的速度相比,符号运算的计算速度慢。 符号计算的运算符和基本数学函数与数值计算中的运算符和基本数学函数几乎完全相同。 符号运算可以实现微积分运算、表达式的化简以及求解代数方程和微分方程等; MATLAB具有专门的符号数学工具箱(Symbolic Math Toolbox),将符号运算结合到MATLAB的数值运算环境。 1.1 建立符号对象 1.建立符号变量 MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。 (1) sym函数 sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym(符号字符串) 该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。 例如 sym x; f=sin(x)+cos(x) 或者 f=sym(‘sin(x)+cos(x)’) (2) syms函数 函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量名2 … 符号变量名n 用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。 2.建立符号表达式 含有符号对象的表达式称为符号表达式。符号表达式包括符号函数和符号方程。两者的区别在于前者不包括等号而后者必须带等号,但它们的创建方式是相同的。建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3) 使用已经定义的符号变量组成符号表达式。 例1 创建符号表达式 程序1: f1=sym(a*x^2+b*x+c) 或f1=a*x^2+b*x+c 返回 f1 = a*x^2+b*x+c 注:上面的语句只创建符号表达式,没有创建符号变量。 例2 创建符号矩阵 程序1: syms a b c d A=[a b ;c d] 运行结果: A = [ a, b] [ c, d] 1.2 符号表达式运算 符号运算符 基本运算符 运算符“+”、“-”、“*”、“/”、“\”、“^”分别实现符号矩阵的加、减、乘、左除、右除、求幂运算。 运算符“.*”、“./”、“.\”、“.^”分别实现符号数组的乘、左除、右除、求幂运算。 运算符“’”、“.’”分别实现符号矩阵的共轭转置非共轭转置。 关系运算符 符号对象的比较中,没有“大于”“小于”等概念,只有是否等于的概念。 运算符“==”、“~=”比较“相等”、“不等”。当为真时,结果为1;为假时,结果为0. 例3 程序: A=sym([a b ;c d]); B=sym([sin(a) b ;c d]); %B=[sin(a) b;c d] C=A+B D=A*B 1.符号表达式的四则运算 符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdiv来实现,幂运算可以由sympow来实现。 例 程序2:A=[a b ;c d]; %A=sym([a b ;c d]); %B=sym([sin(a) b ;c d]); B=‘[sin(a) b;c d]’; %C=A+B C=symadd(A,B) %D=A*B D=symmul(A,B) 2.符号表达式的提取分子和分母运算 若符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为: [n,d]=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。 例 程序: fh=sym(‘a/b’); [n,m]=numden(fh) 运行结果 n = a m = b 3.符号表达式的因式分解与展开 MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为: factor(s):对符号表达式s分解因式。 expand(s):对符号表达式s进行展开。 collect(s):对符号表达式s合并同类项。 collect(s,v):对符
文档评论(0)