- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三章 MATLAB的符号运算
第三章 MATLAB的符号运算
教学目标
1 熟悉符号对象和符号表达式的建立
2 熟练掌握符号表达式的代数运算
3 掌握符号矩阵的建立及其运算
4 掌握符号微积分函数的使用方法
5 掌握方程的求解
3.1 符号对象与符号表达式
3.1.1 符号对象的生成
1.建立符号变量和符号常量
(1) 符号常量的建立
符号常量是不含变量的符号表达式。在MATLAB中我们使用sym指令来建立符号常量。一般调用形式为
sym(‘常量’) %创建符号常量
例如,创建符号常量,这种方式是绝对准确的符号数值表示:
a=sym(sin(2))
a =
sin(2)
sym命令也可以把数值转换成某种格式的符号常量。
语法:
sym(常量,参数) %把常量按某种格式转换为符号常量
说明:参数可以选择为’d’、’f’、’e’或’r’ 四种格式,也可省略,其作用如表3.1所示。
表3.1 参数设置
参数作用d返回最接近的十进制数值(默认位数为32位)f返回该符号值最接近的浮点表示r返回该符号值最接近的有理数型(为系统默认方式),可表示为p/q、p*q、10^q、pi/q、2^q和sqrt(p)形式之一e返回最接近的带有机器浮点误差的有理值例如,创建符号常量,这种方式是绝对准确的符号数值表示:
a=sym(sin(2))
a =
sin(2)
例如,把常量转换为符号常量,按系统默认格式转换:
a=sym(sin(2))
a =
8190223105242182*2^(-53)
例3-1 创建数值常量和符号常量。
a1=2*sqrt(5)+pi %创建数值常量
a1 =
7.6137
a2=sym(2*sqrt(5)+pi) %创建符号表达式
a2 =
2*sqrt(5)+pi
a3=sym(2*sqrt(5)+pi) %按最接近的有理数型表示符号常量
a3 =
8572296331135796*2^(-50)
a4=sym(2*sqrt(5)+pi,d) %按最接近的十进制浮点数表示符号常量
a4 =
7.6137286085893727261009189533070
a31=a3-a1 %数值常量和符号常量的计算
a31 =
0
a5=2*sqrt(5)+pi %字符串常量
a5 =
2*sqrt(5)+pi
(2) 符号变量的建立
符号变量就是含有变量的符号表达式。
在MATLAB中sym也可以用于定义符号变量,但是函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:
syms 符号变量名1 符号变量名2 … 符号变量名n
用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。
2. 建立符号表达式
符号表达式就是代表数字、函数和变量的MATLAB字符串或字符串数组,它不要求变量要有预先定义的值。符号表达式包含符号函数和符号方程,其中符号函数没有等号,而符号方程必须带有等号。在MATLAB中建立符号表达式主要有一下三种方式:
(1) 用单引号建立符号表达式
例
f=exp(x)
f =
exp(x)
‘ ’中的内容也可以是符号方程。
e=a*x^2+bx+c=0
e =
a*x^2+bx+c=0
(2) 用sym建立符号表达式
f1=sym(a*x^2+b*x+c)
f1 =
a*x^2+b*x+c
(3) 使用已经定义的符号变量来组成符号表达式
syms a b c x %创建多个符号变量
f2=a*x^2+b*x+c %创建符号表达式
f2 =
a*x^2+b*x+c
syms(a,b,c,x)
f3=a*x^2+b*x+c; %创建符号表达式
3.2 符号表达式的运算
符号运算与数值运算的区别主要有以下几点:
A 传统的数值型运算因为要受到计算机所保留的有效位数的限制,它的内部表示法总是采用计算机硬件提供的8位浮点表示法,因此每一次运算都会有一定的截断误差,重复的多次数值运算就可能会造成很大的累积误差。符号运算不需要进行数值运算,不会出现截断误差,因此符号运算是非常准确的。
B符号运算可以得出完全的封闭解或任意精度的数值解。
C符号运算的时间较长,而数值型运算速度快。
3.2.1 提取分子分母
如果符号表达是有理分式形式或可展开为有理分式形式,则可通过函数numden来提取符号表达式中的分子分母。numden函数的调用形式如下:
[n,d]=numden(a) 提取符号表达式a的
文档评论(0)