- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab 符号计算 所谓符号计算是指在运算时, 无须事先对变量赋值,而将所得到结果以标准的符号形式来表示 特点: (1)运算对象可以是没赋值的符号变量 (2)可以获得任意精度的解 (3) 符号计算的时间长,而数值计算的速度较快。 一、定义符号变量 参与符号运算的对象可以是符号变量、符号表达式或符号矩阵。符号变量要先定义,后引用。 1、 syms 函数 在一个语句中同时定义多个符号变量,其一般格式为: syms arg1 arg2 …argN 例如: syms x y a b c f=a*x^2+b*x+c %建立符号表达式 syms a11 a12 a21 a22 A=[a11 a12;a21 a22] % 建立符号矩阵 A = [ a11, a12] [ a21, a22] 每行都有方括号,这是与数值矩阵的一个重要区别 (1) 基本运算符(‘+’,‘-’,‘*’,‘/’,’^’,’.*’,’./’等)与数值计算相同. (2) 不能使用 ’’, ’=’, ’’, ’=’ 关系运算符,但可以使用 ’==’, ’~=’ 运算. 2、sym 函数 (1)把字符表达式转换为符号变量 (2)将数值矩阵转化为符号矩阵 例如: syms x y=sym(2*sin(x)*cos(x)) A=[1/3,2.5;1/0.7,2/5] B=sym(A) 将符号矩阵转化为数值矩阵 函数调用格式: numeric(A) 3、任意精度的数学运算 (1) 有理数类型精确符号运算 sym(1/2)+sym(1/3) (2) vpa 类型----任意精度算术运算 digits(n) —— 设置可变精度,缺省 16 位 vpa(x,n) —— 显示可变精度计算 例如:digits(20) vpa(1/2+1/3) a=sym([1/4,exp(1);log(3),3/7]) vpa(a,10) 二、因式分解、展开和简化 1、因式分解(factor) syms x f1=x^4-5*x^3+5*x^2+5*x-6 ; factor(f1) factor(200) 2、展开 (expand) syms x y expand((x+1)^3) expand(sin(x+y)) 3、合并同类项 (collect) syms x y collect(x^2*y+y*x-x^2-2*x) 4、分式通分 [N,D]=numden(A) [n,d]=numden(x/y+y/x) n: 分子 d: 分母 5、书写习惯显示符号表达式的函数(pretty) pretty(x^4-5*x^3+5*x^2+5*x-6 ) A=[3/2,(x^2+3)/(2*x-1)+3*x/(x-1);4/x^2,3*x+4]; pretty(A) 6、符号简化 simplify(s) simplify(sin(x)^2+cos(x)^2) 三、符号变量的替换 subs函数可用来对符号表达式中符号变量的替换 语法: subs(s) %用给定值替换符号表达式 s 中的所有变量 subs(s,new) %用 new 替换符号表达式s中的自由变量 subs(s,old,new) %用 new 替换符号表达式 s 中 old的变量 f=sym(‘(x+y)^2+3*(x+y)+5’) ; x=2; y=5; f1=subs(f) %%%%%%%%%%%%%%%%%%% f=sym((x+y)^2+3*(x+y)+5); f2=subs(f,‘x+y’,‘s’) %用 s 替换x+y %%%%%%%%%%%%%%%%%%%%% syms a x; f=a*sin(x)+5; f3=subs(f,{a,x},{2,pi/3}) f4=subs(f,{a,x},{sym(2),sym(pi/3)}) 比较 f3 与 f4 的差异 四、符号变量字母的优先顺序 符号计算中,x 是首选的符号变量,其后的次序排列规则是:与 x 的 ASCII 码值之差的绝对值小的字母优先; 差的绝对值相同时,ASCII 值大的字母优先.自动识别符号变量时,字母的优先次序为x,y,w,z,v等, 可通过命令findsym 查寻 s=‘xywzv’; double(s)-double(‘x’) syms x w z ff=f*x*z^2
文档评论(0)