Matlab符号计算试卷.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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);二、因式分解、展开和简化 ;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) ;三、符号变量的替换;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 findsym(ff) %查看表达式中所有自由符号变量 findsym(ff,2) %按最优顺序查找 2 个自由符号变量 ;五、符号函数在高等数学中的应用;例如: syms x k f=(1-1/x)^(k*x) y=limit(f,x,inf) %求x趋于无穷时的极限 %%%%%%%%%%%%%%%%%%%% A=[(1+x)^(1/x) exp(-x);sin(x)/x 1/x] B=limit(A,x,inf) C=limit(A,x,0,left) ;2、导数;3、积分;4、泰勒展开 ;5、级数求和;求级数的和: 1/12+1/22+1/32+1/42+ …… syms k

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档