|  | 
 
| 
x
EDA365欢迎您登录!您需要 登录 才可以下载或查看,没有帐号?注册  - T  x* J) X2 j1 J7 u0 H" @数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。
 ( V- M+ M9 ]. w* JMATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。! \, z! U" ], I! ]4 H
 一、符号对象的创建4 l9 t" Z3 `5 q2 ~+ N8 S) f% D
 1、字符串变量的创建  N  W% B7 A0 E
 字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。
 5 K; a& x! L6 d2 W2 W5 N6 Q7 {用单引号界定的字符序列称为字符串。
 * b' Y- x6 [& X/ U. U% N例:
 ! y* E" l, {1 P% I9 Z  @" n. y: |5 M0 N
 s=‘hello’
 - ^2 U( m0 S, ~0 g! o$ E9 K0 \回车后,显示
 8 P8 A( v: A* ?% t1 |s=
 " k; r5 [( z9 `4 ?4 A# l+ Nhello
 5 l: m/ e8 }/ z; `  R" X7 D  a: b+ U; K
 ' t8 `" ^5 L6 `' Y8 t! U指出:
 5 U7 @, X0 Q' u6 f* L1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。7 d6 ]& \) t& _
 2)字符串也称字符串数据或字符变量。( Z4 F. a1 b* `: t: {" L4 q0 l
 3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。
 4 `: @# \5 q- o  l+ J  m" q2、符号变量和符号表达式的创建
 ( p5 g9 _6 o0 s: P4 f; ZMATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。
 9 r- O% u8 n- d5 V( @$ @' D1)用函数sym建立符号变量、符号表达式和符号矩阵。8 E7 I$ E; L% K5 t" ^
 调用格式位:9 b8 q7 w; `6 g8 y* t/ b
 变量=sym(‘表达式’)5 C: C- h# r7 k' {
 0 S0 r$ p2 Q: a( n* g
 y=sym('2+cos(x))
 : m0 O! V- m; @9 o- ^3 |: i. N+ N将显示" S1 d9 A5 t  Y6 e% J/ I
 y=
 " [9 b/ V. l2 @" w; r! k2+cos(x)6 u5 @0 t6 X1 X+ v
 
 6 e. ~1 h. e# A7 b4 J2)用函数syms建立符号变量、符号表达式和符号矩阵。
 7 n, L8 R! b4 c5 u+ L# X调用格式为:. m/ b9 O, o' C& Y
 Syms var1 var2 var3…1 A& |5 l2 r4 p; J
 注意空格7 o2 e2 L$ M) O. w4 v
 
 ( i; W  Z- Z: L: i: e$ vsyms y u2 V% T. [. B/ L
 p=exp(-y/u)
 " _, ?5 `0 k* h  h# }7 S, eq=y2+u3+u*y" A+ u, z$ N, D
 
 7 A" s$ b# W3 [4 w% E" Z这样就建立了两个符号表达式,分别存放在变量p和q里6 j0 _: k/ _4 P$ b# M- t
 指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。
 8 T: ~; \& M: h- C- o. \6 x2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。
 ) Z- o' D* g2 l加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。
 O; s/ A2 ]* r4 k5 [7 y3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。2 t( j/ g5 ^0 O5 A! O
 
 1 n" ^% l" K. G1 \. I; @" Q# G二、符号微积分1 I) n3 E0 W% e
 / j' T; r2 n4 h" ~- w
 limit(f,x,a) 求表达式f当x->a时的极限9 c* R  C* b1 Q0 K* M# g
 diff(f) 求表达式f对缺省变量的微分" c- _  Z! C, {
 diff(f,n) 求表达式f对缺省变量求n阶微分1 c# [* y8 A- r9 {0 p7 v
 diff(f,v) 求表达式f对变量v的微分& i" D! j  J& W5 e3 w( B
 diff(f,v,n) 求表达式f对变量v的n阶微分) j1 t* {- R  e
 int(f) 求表达式f缺省变量的积分
 2 j1 e( \" i; C9 w! pint(f,v) 求表达式f对变量v的积分
 $ M8 M$ c. C$ U4 ~int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分1 T# ?6 [) G' g
 0 a8 x6 B  s( n+ t* V+ x/ J$ ~
 
 | 
 |