|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 b) F# g& Z. v( M! Q' ?
数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。7 _/ ?0 ^% _: X! P8 Z' b1 \% }
MATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。+ [) ~" p- v3 m2 b! ]1 u6 _
一、符号对象的创建 M. f) ?% d$ @* F* ?
1、字符串变量的创建
/ I5 x( s9 D0 N: Q' x字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。
, a! X5 V0 U6 l用单引号界定的字符序列称为字符串。1 N/ H2 V! O. f
例:
5 }1 X7 Q! Z4 Y$ ]8 Q# S
( C& N$ v" c# O, p; |$ ys=‘hello’. F/ F$ V$ Y }- t7 w
回车后,显示; _; E d1 ?; A! K8 K2 K
s=
) N# Z* r& u4 c8 }hello- E( w/ Q1 G) l) ^. `* X* k4 p
" s3 u: ]# g( z
指出:
. @( l" q# X$ d! V2 |1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。6 Y& T7 H) T+ v$ O9 J& r7 F4 H
2)字符串也称字符串数据或字符变量。
" j7 w- @9 y- }# X; C3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。
+ V4 r0 a6 U& s2 P2、符号变量和符号表达式的创建
7 i- H3 |2 l U. H8 G' b4 z0 j1 OMATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。. M. G! U# n( M9 s, i
1)用函数sym建立符号变量、符号表达式和符号矩阵。. r' U1 x3 a; J+ c) \
调用格式位:2 V5 O+ ]% R9 v8 x
变量=sym(‘表达式’)
$ W7 _' t( H- f- K" ^! ~1 f; d2 M4 ]5 R! m# u% F
y=sym('2+cos(x))2 q+ n" s. Z/ b& W5 h
将显示
. s. G& ]: I% t$ q+ B* `* k4 my=9 d+ A0 e$ l$ [' _6 ~$ c
2+cos(x)
& _1 V+ |& k; d
/ ?# O; s* ^+ R8 o* ^8 a; s) n2)用函数syms建立符号变量、符号表达式和符号矩阵。/ n' k I! m# K! b/ w4 G8 |) O5 ^9 G
调用格式为:
H, Z% z/ h7 u0 lSyms var1 var2 var3…4 U$ {, K6 u! N7 @
注意空格2 s1 l4 t6 K; h8 e9 E X
% W' y2 g R. V7 j8 Esyms y u4 {/ Y) l( _4 M W0 F5 f) B
p=exp(-y/u)
, v, E- {* o p, L" d. n8 H# y" z& Gq=y2+u3+u*y2 U' s/ \9 d. i' n& B: H
3 }. n- d! e" }1 W2 f* U. }+ }( R这样就建立了两个符号表达式,分别存放在变量p和q里% l2 E: X$ _9 K
指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。
0 _( p1 O5 T+ h4 C2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。" \* F- s0 ] h9 q$ z9 P/ y+ z4 i
加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。
. B7 M7 M+ \# J0 P; D2 P' n3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。# ^* a, y6 j( X
& T* R1 g* W- g1 a* ]' l; w. ?& G
二、符号微积分
0 }% P: ?1 ]8 R/ Z7 D. Q8 t: c1 L* j" y; ?# \" Y
limit(f,x,a) 求表达式f当x->a时的极限
/ s, c8 K h8 A$ L' Ydiff(f) 求表达式f对缺省变量的微分: H8 z" Z" i, B7 T/ y" L( v
diff(f,n) 求表达式f对缺省变量求n阶微分& V1 I; l; D* L( y1 B
diff(f,v) 求表达式f对变量v的微分
) c; o! D+ [6 Z* L0 t7 cdiff(f,v,n) 求表达式f对变量v的n阶微分* f* h! s1 H: b/ _6 I# d
int(f) 求表达式f缺省变量的积分" }: p8 o1 A6 d$ |
int(f,v) 求表达式f对变量v的积分+ D2 j7 u8 Q8 j- U
int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分) x$ ^5 I; r: t1 W5 x+ o% x
3 v5 Y4 n* u S" E |
|