教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

matlab符号运算(二)

来源:网络收集 时间:2026-09-08
导读: Matlab 符号运算(二) Matlab 符号运算介绍 Matlab 符 号 运 算 是 通 过 符 号 数 学 工 具 箱 (Symbolic Math Toolbox)来实现的。 符号对象的建立:sym 和 syms例: syms x y z == x=sym(‘x’); y=sym(‘y’); z=sym(‘z’); Matlab 符号运算(二) 符号对象

Matlab 符号运算(二) Matlab 符号运算介绍 Matlab 符 号 运 算 是 通 过 符 号 数 学 工 具 箱 (Symbolic Math Toolbox)来实现的。

符号对象的建立:sym 和 syms例: >> syms x y z <==> >> x=sym(‘x’); >> y=sym(‘y’); >> z=sym(‘z’);

Matlab 符号运算(二) 符号对象建立时可以附加属性: real、positive 和 unreal>> x=sym('x','real') >> k=sym('k','positive') >> x=sym('x','unreal') 表明 x 是实的 表明 k 是正的 去掉 x 的附加属性

Matlab 符号运算(二) 符号表达式的建立>> syms x >> f1=sin(x)+cos(x) >> f2=sym(’sin(x)+cos(x)’) >> f3=’sin(x)+cos(x)’ 用这种方法创建的符 号表达式对空格很敏 感,不要在字符间随 意添加空格! 推荐!

符号变量与符号常量>> a=sym(‘a’); >> b=sym(‘5’); >> c=sym(5); b、c有区别吗? hint:help sym

Matlab 符号运算(二) 相关函数 findsym: 查找符号表达式中的符号变量 findsym(f)按字母顺序列出符号表达式 f 中的所有自由变量

findsym(f,N) 列出 f 中距离 x 最近的 N 个自由变量(i,j 除外)例: >> a=sym('a');x=sym('x');k=sym('3'); >> f=k*x+a; >> findsym(f) 默认自变量=findsym(f,1)

ans=a,x

Matlab 符号运算(二) 相关函数 subs:符号替换 subs(f): 用当前工作空间中存在的变量值,替换 f中所有出现的相同的变量,并进行简化计算。 subs(f,x,a):用 a 替换 f 中的 x ;a 是可以是 数/ 数值变量/表达式 或 符号变量/表达式。 若x与a为相同大小的向量或矩阵,则用a中相应的元 素替换x中的元素; 若f,x为标量,而a是向量或矩阵,则f与x将扩展为 与a相同形状的向量或矩阵。

Matlab 符号运算(二)例: f ( x) 2 x y>> >> >> >> >>>> >> >> >> >> >> >> >>

syms x y f=2*x+y; x=3,y=4; subs(f) subs(f,x,’a’)syms x y a b f=2*x+y; subs(f,[x,y],[3,4]) subs(f,{x,y},{3,4}) subs(f,x,[1:3]) subs(f,{x,y},{[1:3],[5:7]}) subs(f,{x,y},{a+b,a-b}) subs(f,{x,y},{x+y,x-y})

ans=10

ans=2*x+yans=10 ans=[2+y,4+y,6+y] ans=[7 10 13]

ans=3*a+b

?

Matlab 符号运算(二) 符号矩阵 使用sym函数直接生成>> A=sym(’[1+x, sin(x); 5, exp(x)]’)

将数值矩阵转化成符号矩阵>> B=[2/3, sqrt(2); 5.2, log(3)] >> C=sym(B) 能否用sym(‘B’)?

符号矩阵中元素的引用和修改>> A=sym(’[1+x, sin(x); 5, exp(x)]’) >> A(1,2) >> A(2,2)=sym(’cos(x)’)

Matlab 符号运算(二) 符号矩阵的基本运算符号矩阵的基本运算与数值矩阵的基本运算相类似。1) 基本运算符:+、-、*、\、/、

^ 、三角函数与反三角函数: .*、.\、./、.^、’ 、.’sin、cos、 2)tan 、… … 3) 指数、对数函数:sqrt、exp、log、… …4) 复数函数:real、imag、conj、 abs 5) 矩阵函数:det、inv、rank、 … … (没有norm) 6) 矩阵元素的抽取:diag、tril、t

riu

Matlab 符号运算(二) 六大常见符号运算 因式分解、展开、合并、简化及通分等 因式分解:factor >> syms x >> f=x^6 +1 >> s=factor(f)

s =(1+x^2)*(x^4-x^2+1)

factor 也可用于正整数的分解

Matlab 符号运算(二)大整数的分解

Matlab 符号运算(二) 展开函数: expand多项式展开

该函数经常用于多项式展开,也常用于三角函数、 指数函数和对数函数的展开中。 三角函数展开

Matlab 符号运算(二) 合并同类项: collectcollect(f,v): 按指定变量 v 的次数合并系数;collect(f): 合并 f 中的默认自变量的各项系数。

findsym(f,1)

Matlab 符号运算(二) 简化函数: simple 和 simplifysimple(f): 对 f 尝试多种不同的算法简化, 返回其中最短的简化形式;[R,HOW]=simple(f): R为f的最短简化形式, HOW中记录的为简化过程中使用的主要方法。simple函数示例 f 2*cos(x)^2-sin(x)^2 (x+1)*x*(x-1) x^3+3*x^2+3*x+1 x^3-x (x+1)^3 R 3*cos(x)^2-1 HOW simplify combine(trig) factor

cos(3*acos(x))

4*x^3-3*x

expand

Matlab 符号运算(二)simplify(f): 简化函数

注:多次 使用 simple 可以达到最简表达。

Matlab 符号运算(二)例:化简 f ( x ) 3 13 62 12 8x x x

Matlab 符号运算(二) 分式通分: numden[N,D]=numden(f): N为通分后的分子,D为通分后的分母

…… 此处隐藏:642字,全部文档内容请下载后查看。喜欢就下载吧 ……
matlab符号运算(二).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1815601.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)