如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验四符号计算
符号计算的特点:一,运算以推理解析的方式进行,因此不受计算误差积累问题困扰;二,符号计算,或给出完全正确的封闭解,或给出任意精度的数值解(当封闭解不存在时);三,符号计算指令的调用比较简单,经典教科书公式相近;四,计算所需时间较长,有时难以忍受。
在MATLAB中,符号计算虽以数值计算的补充身份出现,但涉及符号计算的指令使用、运算符操作、计算结果可视化、程序编制以及在线帮助系统都是十分完整、便捷的。
MATLAB的升级和符号计算内核Maple的升级,决定着符号计算工具包的升级。但从用户使用角度看,这些升级所引起的变化相当细微。即使这样,本章还是及时作了相应的更新和说明。如MATLAB6.5+版开始启用MapleVIII的计算引擎,从而克服了MapleV计算“广义Fourier变换”时的错误(详见第5.4.1节)。
符号对象和符号表达式
符号对象的生成和使用
【例5.1.1-1】符号常数形成中的差异
a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)] % <1>
a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)]) % <2>
a3=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)],'e') % <3>
a4=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]') % <4>
a24=a2-a4
【例5.1.1-2】演示:几种输入下产生矩阵的异同。
a1=sym([1/3,0.2+sqrt(2),pi]) % <1>
a2=sym('[1/3,0.2+sqrt(2),pi]') % <2>
a3=sym('[1/30.2+sqrt(2)pi]') % <3>
a1_a2=a1-a2 %
【例5.1.1-3】把字符表达式转换为符号变量
y=sym('2*sin(x)*cos(x)')
y=simple(y)
【例5.1.1-4】用符号计算验证三角等式。
symsfai1fai2;y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2))
【例5.1.1-5】求矩阵的行列式值、逆和特征根
symsa11a12a21a22;A=[a11,a12;a21,a22]
DA=det(A),IA=inv(A),EA=eig(A)
【例5.1.1-6】验证积分。
symsAttaow;yf=int(A*exp(-i*w*t),t,-tao/2,tao/2);Yf=simple(yf)
符号计算中的算符和基本函数
识别对象类别的指令
【例5.1.3-1】数据对象及其识别指令的使用。
(1)
clear,a=1;b=2;c=3;d=4;
Mn=[a,b;c,d]
Mc='[a,b;c,d]'
Ms=sym(Mc)
(2)
SizeMn=size(Mn),SizeMc=size(Mc),SizeMs=size(Ms)
(3)
CMn=class(Mn),CMc=class(Mc),CMs=class(Ms)
(4)
isa(Mn,'double'),isa(Mc,'char'),isa(Ms,'sym')
(5)
whosMnMcMs
符号表达式中自由变量的确定
【例5.1.4-1】对独立自由符号变量的自动辨认。
(1)
symsabxXY;k=sym('3');z=sym('c*sqrt(delta)+y*sin(theta)');
EXPR=a*z*X+(b*x^2+k)*Y;
(2)
findsym(EXPR)
(3)
findsym(EXPR,1)
(4)
findsym(EXPR,2),findsym(EXPR,3)
【例5.1.4-2】findsym确定自由变量是对整个矩阵进行的。
symsabtuvxy;A=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v]
findsym(A,1)
符号表达式和符号函数的操作
符号表达式的操作
【例5.2.1-1】按不同的方式合并同幂项。
EXPR=sym('(x^2+x*exp(-t)+1)*(x+exp(-t))');
expr1=collect(EXPR)
expr2=collect(EXPR,'exp(-t)')
【例5.2.1-2】factor指令的使用
(1)
symsax;f1=x^4-5*x^3+5*x^2+5*x-6;factor(f1)
f2=x^2-a^2;factor(f2)
(3)
factor(1025)
【例5.2.1-3】对多项式进行嵌套型分解
clear;s
sy****28
实名认证
内容提供者
最近下载