|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 n( w9 @! K- v. Y# U+ E数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。$ {& A! g6 y. N- ~) U
MATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。
, S, G6 x. Y" w- T! B5 k一、符号对象的创建% P5 g/ M9 F+ S$ I* Y
1、字符串变量的创建6 |; K$ K. i6 ]5 m5 e& W
字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。
" L1 ?3 w9 R0 I! W, \2 V+ L! T" D用单引号界定的字符序列称为字符串。
6 V4 \! W1 e I; p: b" I例:( w! V! b" D. Z/ a. \+ l
1 Y5 w& e7 Q6 O8 A
s=‘hello’ Q6 m/ Q: h4 Q6 Z; g ^ @% o
回车后,显示
) g: m9 M9 x* s* Ns=. v- ]! h; {$ Z5 n' ~. E
hello
- Y" I4 k% Y f) p i4 z4 L7 f. V
" G7 S) O5 c* Z) Q0 r指出:
2 o1 d, B$ B1 o6 }" v* q1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。
! _, n7 ?7 ?" `4 G: @. ?2)字符串也称字符串数据或字符变量。: H& x4 j& {9 u- n
3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。
! I, k- F% S1 e0 ]" \2、符号变量和符号表达式的创建
. E7 M/ x4 ~$ V- I2 ?, |% {* w' F4 }' gMATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。% z# H( v4 x- q2 I( {
1)用函数sym建立符号变量、符号表达式和符号矩阵。3 B; t, g4 N% x( U* P2 R6 |, h
调用格式位:- n: E& M9 K( L s% r! [4 w7 p7 d
变量=sym(‘表达式’)
4 ~ Z& c& }) {0 L2 ^) _% x
* q6 X. H; q p7 r2 t5 ly=sym('2+cos(x))9 N# N7 F3 i- j& |- e+ x
将显示
3 q" ~7 g/ O- ~ T/ z) Wy=
8 x) I7 K4 X) N4 v- }2+cos(x)8 Y f; I5 L1 ? @3 k% q/ V
& B& v f% u1 I1 L. Y5 T
2)用函数syms建立符号变量、符号表达式和符号矩阵。3 m# j2 O9 ?6 a W! [
调用格式为:3 R% Y! I+ p) R# S+ t" A2 e
Syms var1 var2 var3…
/ |1 r( E8 ]1 a注意空格; [) }3 X* `+ {8 h7 M& g
# n( ?& V3 Z( C) R
syms y u: u7 u& r n1 I' G
p=exp(-y/u)* O* N9 o; q4 h9 d+ r
q=y2+u3+u*y
) o0 Q* c+ {0 \; X. L% M" H8 i5 F, T# _
这样就建立了两个符号表达式,分别存放在变量p和q里
1 b6 h! l7 [* r: d$ L9 z6 M指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。
- r+ I2 {: u0 Z, O: K2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。
( g# d7 N1 z, D9 ^7 n4 a( {- H加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。
" I( T. J* h2 } I- p& \3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。
; C* @ s7 Z" T6 |' Y$ e2 N
# J8 p( j1 T8 U$ z e, Y$ Y! s$ M二、符号微积分9 n! p7 F( x. u& A
% b+ _) ]. X5 Y' s6 U J5 H( F
limit(f,x,a) 求表达式f当x->a时的极限
5 f7 i1 N4 n6 w8 o& t9 N& A/ Jdiff(f) 求表达式f对缺省变量的微分$ I. M V, T) L- H# z7 U) w) K& ^
diff(f,n) 求表达式f对缺省变量求n阶微分
- T9 @) k% ?8 O+ Sdiff(f,v) 求表达式f对变量v的微分
b0 Z' A" D# H% I5 P; gdiff(f,v,n) 求表达式f对变量v的n阶微分
' g$ e7 `- X+ |int(f) 求表达式f缺省变量的积分
& u. H# R# f" v) t( O0 A9 f, {4 {int(f,v) 求表达式f对变量v的积分$ e4 ~7 l8 F+ M5 p/ G4 E- r
int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分, K- f# z, S4 H( D6 l3 W
1 z. @1 E" q7 N( K7 s: H |
|