找回密码
 注册
关于网站域名变更的通知
查看: 516|回复: 1
打印 上一主题 下一主题

MATLAB的符号运算学习

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-2-4 17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
8 S! U' T3 _7 R. X% |( l
数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。
3 `( F" B+ y0 {- `/ U2 oMATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。
, R, A- |: _$ x% V一、符号对象的创建& a2 ]5 p0 @  Q, [6 A; V- r& d
1、字符串变量的创建# V; H; X; Q( a1 t# E
字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。7 z0 r" ]+ m8 e: m- D$ k9 I
用单引号界定的字符序列称为字符串。
" [. k' ^& ]2 T  `7 [例:
8 K; {* I; A) c2 v& V/ l9 Z6 m$ c3 D8 l
s=‘hello’: V" ?1 m5 u2 |; T! E
回车后,显示7 ]5 `% ^* ]2 y/ _( t
s=
' u8 z( ?2 d: j& @0 X8 chello
0 a8 k+ l9 h+ t7 r8 v4 [
- k/ b4 j+ l: F5 ~6 A5 B" j指出:; y# z0 Z0 y8 Z4 h! B" h: Y
1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。* S/ h, a2 ~, t% l6 w+ i) C
2)字符串也称字符串数据或字符变量。2 ~3 \# h) C3 N
3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。
. {) w5 |' w7 {# d' H. t5 C: v2、符号变量和符号表达式的创建4 g% n5 ]- s& e
MATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。
; ^; k3 O/ s" _) S$ y9 I$ {/ C1)用函数sym建立符号变量、符号表达式和符号矩阵。* G3 }0 F% r& G! K; m2 U$ P- \; D
调用格式位:+ f) J  z  R* d0 H- D4 A: W
变量=sym(‘表达式’), ^( I( h- n! c; z' H4 d
* {* Y* N8 j9 f+ M
y=sym('2+cos(x))
, i* ?( k. _5 i# L. Z将显示
1 D. O& z0 \3 t% i! |y=
0 L9 I; z/ x/ v3 L2 [2+cos(x)
4 A0 v& B1 N7 U! X3 E# `* ^, v. |, q# H- \( k
2)用函数syms建立符号变量、符号表达式和符号矩阵。9 a. x5 j/ C9 B! I" _
调用格式为:
( I( ]% M. G1 a8 S, D8 [Syms var1 var2 var3…
  L0 K2 F2 g2 ?注意空格$ u" Z# M( n( Y2 t' ], V0 n: F
) ?/ r$ ~8 |7 X/ e# A; l
syms y u
; Y7 U: H, s1 I' @/ f7 b7 yp=exp(-y/u)
  V8 j6 z: z1 ^! a) n% n" [q=y2+u3+u*y0 a* J3 _* p3 L
4 Z0 ~8 n" K# D" \6 F( S' {
这样就建立了两个符号表达式,分别存放在变量p和q里7 ^" d1 Z! v! `) [! O! O( d
指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。
- e5 e& C! v8 @6 f2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。
7 U1 T& D- W* l加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。* t3 v! d! p* N) B* N4 s( F
3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。
( {  Y- `1 o5 Q0 X" R5 K8 Y6 S
9 X) V& q, y) A- I6 ?3 s二、符号微积分  B' r% q: e' R% B  D: k' K% O: ]$ q

5 {, N. H$ K$ v& W* H9 S& jlimit(f,x,a) 求表达式f当x->a时的极限
( f  Z% i6 e  w% C& `diff(f) 求表达式f对缺省变量的微分
# I: w/ o3 q1 l- @9 L' Zdiff(f,n) 求表达式f对缺省变量求n阶微分
; W6 ~; |/ Q2 G3 F( Wdiff(f,v) 求表达式f对变量v的微分
5 s; ]" U5 w* r+ T) K  R1 wdiff(f,v,n) 求表达式f对变量v的n阶微分- s; n3 C- {: F- K0 @
int(f) 求表达式f缺省变量的积分1 Z/ f. ^7 w7 X2 ?
int(f,v) 求表达式f对变量v的积分
8 }! H# |! Z# n2 e- lint(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分
; I7 A$ A+ l1 s, W
- q8 h1 Z$ O  y0 e$ j4 x/ f9 a. F

该用户从未签到

2#
发表于 2021-2-4 17:42 | 只看该作者
MATLAB的符号运算学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-31 14:57 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表