|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 w, q5 J: ?3 E7 k1 L
数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。5 c5 C" L1 ^+ f) x1 }! h
MATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。
0 S8 k5 R$ l' H2 z7 [一、符号对象的创建
p6 y; H5 s( |0 t, y3 S8 m1、字符串变量的创建2 Q% C1 G' s" e7 L% d5 i
字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。" P+ _6 {! [8 {# n. E
用单引号界定的字符序列称为字符串。
2 y" v1 D% Q j2 s% M9 g/ ^例:
* A9 [5 M# s7 W( D* w7 ^; z ]$ J
! r& _' [, X( ^" R! }6 M: Is=‘hello’" d8 H0 v; a" l) y; i( h6 ?
回车后,显示. S8 ]: v1 E1 M
s=+ x- C2 C3 j! F M7 W
hello
( v' U* d* }% q. } y$ D& M0 z2 o" S- J! \+ i! \" X: Q
指出:
4 v) y. g) _/ ^% N) l: }* k1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。/ O- \+ y+ x" D1 Q: C$ X/ P& D
2)字符串也称字符串数据或字符变量。
! z5 n; p) K; b! \ ~5 d2 U! T) C% Q3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。5 V/ Z! ?; p" G+ Y& ^ {9 y
2、符号变量和符号表达式的创建
# l& b. C8 h; oMATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。$ ]# ~; T& f5 _# p' K
1)用函数sym建立符号变量、符号表达式和符号矩阵。
0 l0 Q! c9 b7 ^. K4 e调用格式位:
v t! L4 }4 _: {5 R% y* m变量=sym(‘表达式’)
$ b5 ]* v9 `' h: H. G* R7 W/ F6 O" f6 J$ b1 s
y=sym('2+cos(x))& H, k5 {* W% H# K) u" R7 V' h
将显示+ Z5 L+ c' P( X- B
y=; }" B& {/ x, Z
2+cos(x) z+ ~% t; |' `' E4 F# i
2 P& i% O+ G! B/ e) d4 a2 s
2)用函数syms建立符号变量、符号表达式和符号矩阵。; v% `7 u, C% P( G7 J, p0 D/ g7 O- _
调用格式为:
# A5 D% q* _! k( [; tSyms var1 var2 var3…
( v: u: A! |9 W: h+ |% O. s8 Y注意空格
% |8 e Q; v3 S
0 ^# i6 X) r/ Z% ~3 usyms y u
# X' [( H& E) C; L3 H; Np=exp(-y/u): |: n% v" H8 O, [4 q
q=y2+u3+u*y6 f1 |# ?, \8 W8 O3 v" A5 p- O
# ?+ h9 h$ m) T
这样就建立了两个符号表达式,分别存放在变量p和q里
1 H* e$ s! h& ^; x0 l% {+ D指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。
0 q0 |. T4 Z1 h& D% F8 d2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。2 r- l/ H8 g1 X5 E
加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。
# Z( t+ }: s! @8 B3 e3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。, y8 x- e, f7 ]' j7 `; |
$ N- g& F8 J! j# c3 A
二、符号微积分
) x2 W0 c& w7 i& f1 \% s; {; x, L* |1 ]; p0 g* e
limit(f,x,a) 求表达式f当x->a时的极限
# s5 M7 Q' v0 ?, e3 vdiff(f) 求表达式f对缺省变量的微分
; j# b$ X9 N/ a q( bdiff(f,n) 求表达式f对缺省变量求n阶微分
, ~+ Z3 G) s6 f2 n0 m7 Z; _. {diff(f,v) 求表达式f对变量v的微分. N+ O7 o" N' q- n. r
diff(f,v,n) 求表达式f对变量v的n阶微分- Z. K3 p1 V( z7 u0 V- S
int(f) 求表达式f缺省变量的积分
% \, j& N7 V# E& i8 G, v" [2 cint(f,v) 求表达式f对变量v的积分
# T ^; g1 h* i$ c. Z# R( ~/ Dint(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分
7 L! K$ U% d6 \& ^6 m; C. N
3 E8 e$ }, o6 g3 K7 V) R/ E: H& Y |
|