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

MATLAB的符号运算学习

[复制链接]

该用户从未签到

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

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 07:15 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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