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

MATLAB的符号运算学习

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

* w  E8 |1 U6 [# }2 v' r3 ?% q& h3 Z数值运算中的变量需要事先赋值,才能出现在表达式中参与运算。但人们经常需要对含有字符的矩阵和函数进行处理和运算,如求函数的微分、积分等等,这就需要进行符号运算。) s$ [% C: u  ^% I1 b7 g
MATLAB的符号运算利用符号数学工具箱进行、符号数学工具箱的功能主要包括符号表达式的创建、符号矩阵的运算、符号表达式的化简和替换、符号微积分、符号代数方程、符号微分方程、符号函数绘图等等。
' j* g' y( R0 f/ h+ Y一、符号对象的创建
" t$ p% d$ E$ ?7 Y! j1、字符串变量的创建) x" I4 P# U% J- W& m! k( g
字符串是一种特殊的符号对象,在数据处理、造表和函数求值中,字符串具有重要的应用。3 M$ Z/ w) e& m+ }6 N
用单引号界定的字符序列称为字符串。
3 m* m" {# U- l4 R3 a, \: _* y例:+ ~- \# [" v) t" u+ t% q# O
  y% P4 \' Q: }: G/ B5 R. z
s=‘hello’. P% C% a! H: z/ x% Y
回车后,显示
: w# o" H! b1 L0 U+ O! ts=
5 t# b5 R  g+ J; Y8 `hello
* Y( T( h# b( Y' l) b% {+ a* _. ]" S
指出:/ F: {4 d5 P5 T* ~
1)字符串中的字符可以是数字、英文字母、汉字、横线、括号、表达式、方程等。5 G+ g) n6 t0 H7 {5 L9 m
2)字符串也称字符串数据或字符变量。1 H$ [- m! G" b4 E, |
3)用赋值符号“=”把字符串赋给某个标识符,例例如s,这个标识符称为字符串变量,简称字符名。
. |% ^* O8 f, Q6 d2、符号变量和符号表达式的创建
; @1 w- G3 x1 H* k! i# IMATLAB的符号数学工具箱提供了两个基本函数sym和syms,用来创建函数符号变量、符号表达式和符号矩阵。/ S& e' v, Y0 ?8 O( G0 C
1)用函数sym建立符号变量、符号表达式和符号矩阵。5 |/ U+ @3 \0 i, O
调用格式位:
4 \7 o" p2 j! X) A7 D2 E; k/ U8 ?2 `变量=sym(‘表达式’)3 U* d4 f+ e( k# l  [/ d1 ?8 j
3 B% w' _8 o1 e# Q! {
y=sym('2+cos(x))
) f" p$ {& Q: C4 G将显示
7 T4 u( {7 d( Y7 L, P- Q1 M; _, dy=
) \: e1 }% Y' R4 l2+cos(x)5 [- I7 l" x! T% T: v- Y& f3 G0 G

5 c) ^- E/ E4 H* R0 ]2)用函数syms建立符号变量、符号表达式和符号矩阵。
& W. G0 l4 K3 A+ V" ?9 ]3 `9 f调用格式为:( L) @0 i! d2 p' R: k1 m
Syms var1 var2 var3…
: a# G3 w5 M8 g' h6 R3 o注意空格0 _  H0 _: v# L' C

+ s& e0 ^$ O5 r2 c4 xsyms y u/ G) H- R  q2 H* X8 J1 \& z' B
p=exp(-y/u)( M, k' x/ S$ s$ m0 T% v/ F1 s
q=y2+u3+u*y
0 w* J1 [2 L' t. v, }/ U
7 j! W% x! H9 _8 e这样就建立了两个符号表达式,分别存放在变量p和q里
( K# ~: c2 k/ H指出:1)由于syms函数书写简洁、意义清楚,符合MATLAB的习惯特点,一般提倡使用syms创建符号变量、符号表达式和符号矩阵。6 o5 f7 R. V% i( b5 J" h: I0 Z
2)注意用单引号创建的字符串变量和用函数sym、syms创建的符号变量性质并不完全一样。在符号工具箱中,有些指令的参数既可以用字符串型数据也可以用符号型数据,但也有一些指令的参数必须用符号型数据。
" `2 d' r1 |* t$ H- h; ~0 X加法、求导等运算对数值形式的字符串和符号变量都按符号变量对待,不加区别,而级数求和命令symsum(s,‘n’,h,k)(s是通项表达式,n为级数的项数,h、k分别是求和的起止项数)中的s必须用符号表达式而不能用字符串。5 l, ^1 P6 U1 I$ j. Q' |% G
3)MATLAB中,在没有规定的情况下,默认最接近x的字母表示自变量。9 H' g5 `. C( ?
9 e, I/ v& @- ?
二、符号微积分- x3 W1 w" X& E. z; d7 G

7 L, n' Y# V$ N& D, r6 Klimit(f,x,a) 求表达式f当x->a时的极限# P8 U0 E# E% {3 z# S
diff(f) 求表达式f对缺省变量的微分5 \$ I4 v/ j' U3 N0 m6 s0 {* x
diff(f,n) 求表达式f对缺省变量求n阶微分% f7 d# j4 f2 X$ D
diff(f,v) 求表达式f对变量v的微分5 K- p- u# g9 j
diff(f,v,n) 求表达式f对变量v的n阶微分! |4 s8 j! h/ ~% J
int(f) 求表达式f缺省变量的积分5 q3 h& W: x9 Z4 M9 l! i
int(f,v) 求表达式f对变量v的积分2 T3 |% C- h+ E+ x& j! G
int(f,v,a,b) 求表达式f在区间(a,b)上对变量v的定积分
: J: L4 m( O; S' U
* z, G+ w' V2 W( C2 m$ R+ F! u

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 13:15 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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