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

MATLAB的符号运算学习

[复制链接]

该用户从未签到

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

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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