|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
; `0 C; b6 {. u! a数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。" r9 J1 L0 `% |/ M/ ]
MATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。 K2 w, w0 C, N+ a: o @
一、符号对象的创建
- }0 B% z9 f$ d U- ^. @) ~- H1、字符串变量的创建
; G4 S. l$ B* n7 p字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。
+ S, D- V6 }; N6 X5 q用单引号界定的字符序列称为字符串。9 E6 c: Y) A( a/ ^) C) z7 p
例:
# K& l- K) d0 C! ~/ \5 x; [" V, ?+ k2 G/ f# g9 h: ^3 W1 z
s=‘hello’% V% X4 y {) q! ]' I0 i
回车后,显示
% F7 M/ W, C+ a- \; N4 ?s=' m- y! [4 p' o1 c( [
hello
7 h$ B" C8 M2 r. v8 P
% j! W' D; W& j1 u% u Y' g. d/ j指出:
4 h2 m' [7 E/ R* i, y [1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。
2 `( _8 I( M8 C' e2)字符串也称字符串数据或字符变量。
/ W1 O/ L5 u3 t! P6 J8 l; l3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。% _( N$ n/ H8 j/ D* p3 R
2、符号变量和符号表达式的创建2 I0 L5 T l( P$ h
MATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。
/ n/ T. I2 R, E- |$ A% a" _1)用函数sym建立符号变量、符号表达式和符号矩阵。5 C$ @, S4 l, t2 J& ~ K/ W/ U
调用格式位:+ F N) y, I* `! P' G2 Y
变量=sym(‘表达式’)
1 P2 [$ t/ X5 n6 N- T" [
6 u5 L$ q9 V$ f' e! e( B3 ~. Ky=sym('2+cos(x))
4 F, j3 E( Z; E( I" Y2 Q6 `将显示7 f+ u: [) r7 S' |
y=* f5 D( x- H0 d+ z! c* ?
2+cos(x)- a- u9 c! x# @
% e$ I0 ?2 P" [, f, M7 W7 o2)用函数syms建立符号变量、符号表达式和符号矩阵。8 e" Z- p) G5 W; V; g
调用格式为:3 T, [# R1 y7 T
Syms var1 var2 var3…
$ \$ Z) K5 _/ E4 P f* L% \$ f注意空格6 N$ d/ I/ b$ a4 r9 k5 L
5 B9 Y/ w! e# n$ K! H
syms y u% Z6 \. w" l$ R4 Q9 p4 x9 ^1 {+ w
p=exp(-y/u)
. }& E9 v5 J! P+ hq=y2+u3+u*y' [/ b' P o; G* N
* ^9 F/ i @+ i( ]& C! v- }" F这样就建立了两个符号表达式,分别存放在变量p和q里( i7 P, I! ]1 F1 W. }1 o, X
指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。& N$ q& p( y: D# h
2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。
1 U: d$ T& O2 h0 W2 K. d1 m. C加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。
" i6 K$ U/ N# S* j, ~# d4 y3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。2 P9 p7 \; s1 [
9 ?, j) b5 |6 s8 i' Z1 a+ _# l
二、符号微积分
* o; a N; D4 G( H+ ~: |( Y& @) ^( Z' d
limit(f,x,a) 求表达式f当x->a时的极限 G/ R+ _4 P5 m
diff(f) 求表达式f对缺省变量的微分' ~, g" ^2 h/ S& I( t2 ]% e
diff(f,n) 求表达式f对缺省变量求n阶微分5 k6 d' J2 S% ]& f! N& c+ O+ C
diff(f,v) 求表达式f对变量v的微分8 n8 P" p9 x8 K( o9 V) B
diff(f,v,n) 求表达式f对变量v的n阶微分8 z4 O3 A: Q R- N6 v3 V A
int(f) 求表达式f缺省变量的积分
( `/ k \) v) \3 h9 O* M1 w. \int(f,v) 求表达式f对变量v的积分. }! Y+ u: t- x+ M- F9 ]. A
int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分 @2 ]$ N3 L# I6 m& J3 c
/ j9 ?( u. B# ^6 C: c6 S: S3 w
|
|