|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 E3 T/ ?# C8 k2 }8 i) \数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。0 Z0 `, l/ C* w/ a$ d: u- J' I
MATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。6 D7 ?% A7 O+ t# r2 K& H; A
一、符号对象的创建
9 m. |5 Q* m* l# A" e$ r1、字符串变量的创建' x. A* ]; I9 F- [9 b" D- {
字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。# z/ V! a% }! t$ i# K/ ~
用单引号界定的字符序列称为字符串。! `$ {# A; a3 ]
例:$ G, ]1 ?' s9 n; ^# S# C
! `6 C: s' j% Q4 d( U/ @s=‘hello’
: z9 g- e$ ?6 k }. d( M: r回车后,显示' C3 h; c( D- @5 h; Y
s=
- k# @( j: U8 Z* T1 Ehello
$ h6 `" z" a% A; C) ~' @
" P0 D* \, F; v/ n, o0 w指出:+ I: E% d7 {* M; }) I
1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。# j- V; P* v4 x6 |: I: V
2)字符串也称字符串数据或字符变量。
8 [( w; @ u7 ^! |- Q7 T3 G3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。3 x- Y6 L" B! n8 B
2、符号变量和符号表达式的创建: W" b+ f8 M5 P3 R" s
MATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。: @9 ]! K% Q$ h m) o9 R( s
1)用函数sym建立符号变量、符号表达式和符号矩阵。- P6 U: u9 @. [3 f# S0 g
调用格式位:
2 ]8 |" t' s* |4 o变量=sym(‘表达式’)" n& [9 l& [& u! |) g+ {) v4 Y
9 f2 l6 {0 n* |; u( ?
y=sym('2+cos(x))
$ K7 q2 z& H6 b/ k将显示4 {/ L1 L5 _2 W$ [; F, S
y=, E6 T6 p7 S6 |3 I5 V
2+cos(x)
4 B. W7 I* x& z, @) j2 G! x
2 c7 O, ^) R5 \; A2)用函数syms建立符号变量、符号表达式和符号矩阵。
' ]" W) o0 c5 I! \) i: G( f- s" Y3 Z调用格式为:
) O+ }8 d* b* m, TSyms var1 var2 var3…
9 m2 N: x ^# p- S/ [+ s7 L注意空格
- X$ M, Z7 _- R: d$ h0 Z# \: o3 c& [ z7 H5 s+ b! p3 ~3 P: |' {$ X j
syms y u
1 X9 n4 @+ l( B0 _p=exp(-y/u) m/ j! W! p9 V8 [, B0 T4 L7 m8 R
q=y2+u3+u*y% u8 Z5 ?4 r$ ?' ?; D% \
* |2 v: Z9 ~9 ~这样就建立了两个符号表达式,分别存放在变量p和q里' }% p8 P" i# }4 m
指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。
+ J4 K% Z4 n" A8 [2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。, X' H8 P9 y/ \$ G) _
加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。* c8 d4 y: n; E" L# L
3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。 g6 }7 e k R ]2 G0 m, G
; H* |8 b9 V; k
二、符号微积分+ E8 b7 e7 s/ p
$ Z) w" T- V7 J9 {5 z& ?% `
limit(f,x,a) 求表达式f当x->a时的极限8 ~2 {3 ~; X7 @; E7 n! L: F8 o
diff(f) 求表达式f对缺省变量的微分
) W) h6 L& k0 Q9 w- Tdiff(f,n) 求表达式f对缺省变量求n阶微分
8 _9 c3 H' n2 g5 g! }diff(f,v) 求表达式f对变量v的微分7 F9 ?: ^1 p4 s+ s/ N0 @* c
diff(f,v,n) 求表达式f对变量v的n阶微分0 @& z7 D- l) R! _& b+ U# I3 @
int(f) 求表达式f缺省变量的积分
V3 V, V- j0 J1 p7 P0 \0 rint(f,v) 求表达式f对变量v的积分2 X" l0 Z1 c# l" y2 _$ O5 A
int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分4 f) J; L4 H+ m0 D. H0 B# ]
& ^3 e: N6 f; } |
|