|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- d0 a, N2 m# p
数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。
: `" Q' F- w1 T/ C% |' BMATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。- T- s$ \/ L- L( g& U' P8 N6 |( F
一、符号对象的创建) i% }* B1 p& m$ u0 M
1、字符串变量的创建
# }) s" {- d3 x字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。4 \; W9 K9 [/ H& _3 Q; w+ B' E
用单引号界定的字符序列称为字符串。9 [' V/ b1 y* A8 G6 D, w7 Z
例:
$ e+ @2 z" D# I7 N, e) F2 U s- C% z& ?) |
s=‘hello’
^3 f" m5 e( a R0 [, @回车后,显示
0 \! @) s( v3 J: Q0 fs=( w- ^6 U3 R3 x# E3 q, C! O) q: R
hello
% N' {5 g0 G# O! x8 F |; J- V3 ~5 Y2 s0 h: h" z; q$ b6 @! w
指出:; N" R1 c" p. a! f2 q0 g
1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。
( N3 p+ k+ P8 b2)字符串也称字符串数据或字符变量。" l2 B7 l7 n2 h
3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。
) c% Q( V) Y$ k3 d% z$ A: Y2、符号变量和符号表达式的创建
2 k' `3 v" ~! d3 n6 o- X6 `. X1 FMATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。$ |/ d( i4 }" Q
1)用函数sym建立符号变量、符号表达式和符号矩阵。
* Z1 w9 T3 Q; G4 ]调用格式位:) A5 _3 _# h* l8 n
变量=sym(‘表达式’)+ F( s8 ?" O/ i2 ^8 Z
4 o0 d5 V- d+ t4 C0 u) O- g. c8 N
y=sym('2+cos(x))
3 Z- c6 l# C3 ]8 }将显示
: p& N9 P& T# x3 xy=5 t# m) W1 n7 F; n' s* t; M
2+cos(x)- Z% V$ D1 H! ?" K* W& ^
! k. t) s. e/ n7 ?+ F2)用函数syms建立符号变量、符号表达式和符号矩阵。
/ S& y& |4 X# `" p调用格式为:+ e/ t6 n1 a& h) P2 J# x6 b: T
Syms var1 var2 var3…
6 ?6 y# ]2 K* u3 w# b6 [( N注意空格6 t2 C, l0 J4 `6 R) _6 Z
% J! U h2 @6 [9 H+ O. I$ a
syms y u' h% w& ~/ c( M8 \1 T: o
p=exp(-y/u)6 q4 V" ^$ ?! N' c
q=y2+u3+u*y0 u' H( n+ J8 e
! j: R, X W# |- M9 [这样就建立了两个符号表达式,分别存放在变量p和q里4 j# ^: v, y" V7 }! Q
指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。/ X3 o2 K, O7 T I3 {: j
2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。1 m2 }! u1 R6 A
加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。
5 b# F. P5 d$ v" Z4 S1 u3 u; Z3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。" p9 ?4 T7 s+ `* n; [
- O4 j L& z2 a& z
二、符号微积分
) D1 k3 o: j# B. J2 P% R( J0 U7 N
limit(f,x,a) 求表达式f当x->a时的极限
* g" V% r* Z4 |: r" Zdiff(f) 求表达式f对缺省变量的微分0 _- A1 X* E+ r* }; ?5 @
diff(f,n) 求表达式f对缺省变量求n阶微分2 ~8 p M; N) x) A) ?5 x$ A
diff(f,v) 求表达式f对变量v的微分
3 N4 a' ^ x1 X, C' B! M( k2 j4 ?diff(f,v,n) 求表达式f对变量v的n阶微分
; q. S, c* A( ]9 S! Pint(f) 求表达式f缺省变量的积分
8 k4 r! F+ ^6 R, H; B% j! f# Zint(f,v) 求表达式f对变量v的积分( r8 L w; Y1 t3 n6 B1 O
int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分+ N6 ^/ P" ^) M- [* l2 d3 a
' H! a9 k! B Q) m5 \9 q, V, Z7 H |
|