- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
新疆大学重点课程·电子教案PAGE10
新疆大学重点课程·电子教案
PAGE10页共32页
VII 符号计算(4课时)
一、符号对象:
建立符号变量和符号常数(1)sym函数
sym函数用来建立单个符号量,例如,a=sym(a)建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。
例考察符号变量和数值变量的差别。在MATLAB命令窗口,输入命令:
a=sym(a);b=sym(b);c=sym(c);d=sym(d); %定义4个符号变量
w=10;x=5;y=-8;z=11; %定义4个数值变量A=[a,b;c,d] %建立符号矩阵A
B=[w,x;y,z] %建立数值矩阵B
det(A) %计算符号矩阵A的行列式
det(B) %计算数值矩阵B的行列式
例比较符号常数与数值在代数运算时的差别。在MATLAB命令窗口,输入命令:
pi1=sym(pi);k1=sym(8);k2=sym(2);k3=sym(3); % 定
义符号变量
pi2=pi;r1=8;r2=2;r3=3; %定义数值变量
sin(pi1/3) %计算符号表达式值
sin(pi2/3) %计算数值表达式值
sqrt(k1) %计算符号表达式值
sqrt(r1) %计算数值表达式值
sqrt(k3+sqrt(k2)) %计算符号表达式值
sqrt(r3+sqrt(r2)) %计算数值表达式值
(2)syms函数
syms函数的一般调用格式为:
syms var1var2…varn
函数定义符号变量var1,var2,…,varn等。用这种格式定义符号变量时不要在变量名上加字符分界符(),变量间用空格而不要用逗号分隔。
建立符号表达式
例用两种方法建立符号表达式。在MATLAB窗口,输入命令:
直接用sym函数建立符号表达式U=sym(3*x^2+5*y+2*x*y+6) %定义符号表达式U
先用syms函数定义符号变量,然后再建立符号表达式symsxy; %建立符号变量x、y
V=3*x^2+5*y+2*x*y+6 %定义符号表达式V
(3)符号表达式的值
2*U-V+6 %求符号表达式的值
例计算3阶范得蒙矩阵行列式的值。设A是一个由符号变量a,b,c确定的范得蒙矩阵。
命令如下:symsabc;U=[a,b,c];
A=[[1,1,1];U;U.^2] %建立范得蒙符号矩阵
det(A) %计算A的行列式值
二、基本的符号运算:
符号表达式运算
符号表达式的四则运算
例符号表达式的四则运算示例。
在MATLAB命令窗口,输入命令:symsxyz;
f=2*x+x^2*x-5*x+x^3 %符号表达式的结果为最简形式
f=2*x/(5*x) %符号表达式的结果为最简形式f=(x+y)*(x-y) %符号表达式的结果不是x^2-y^2,而
是(x+y)*(x-y)simple(f)
因式分解与展开
factor(S) 对S分解因式,S是符号表达式或符号矩阵。expand(S) 对S进行展开,S是符号表达式或符号矩阵。collect(S) 对S合并同类项,S是符号表达式或符号矩阵。collect(S,v) 对S按变量v合并同类项,S是符号表达式或符号矩阵。
例对符号矩阵A的每个元素分解因式。命令如下:
symsabxy;
A=[2*a^2*b^3*x^2-4*a*b^4*x^3+10*a*b^6*x^4,3*x*y-5*x^2;4,a^3-b^3];
factor(A) %对A的每个元素分解因式
例计算表达式S的值。命令如下:
symsxy;
s=(-7*x^2-8*y^2)*(-x^2+3*y^2);expand(s) %对s展开
collect(s,x) %对s按变量x合并同类项(无同类项)factor(ans) %对ans分解因式
表达式化简
MATLAB提供的对符号表达式化简的函数有:simplify(S) 应用函数规则对S进行化简。
simple(S) 调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。
例化简
命令如下:
symsxy;s=(x^2+y^2)^2+(x^2-y^2)^2;
simple(s) %MATLAB自动调用多种函数对s进行化简,并显示每步结果
符号矩阵运算
S’返回S矩阵的转置矩阵。
det(S) 返回S矩阵的行列式值。colspace(S) 返回S矩阵列空间的基。
[Q,D]=eig(S) Q返回
文档评论(0)