实验符号计算基础与符号微积分.docx
- 文档编号:4722665
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:23
- 大小:322.26KB
实验符号计算基础与符号微积分.docx
《实验符号计算基础与符号微积分.docx》由会员分享,可在线阅读,更多相关《实验符号计算基础与符号微积分.docx(23页珍藏版)》请在冰豆网上搜索。
实验符号计算基础与符号微积分
实验10符号计算基础与符号微积分
(第7章MATLAB符号计算)
一、实验目的
1.掌握定义符号对象的方法。
2.掌握符号表达式的运算法则以及符号矩阵运算。
3.掌握求符号函数极限及导数的方法。
4.掌握求符号函数定积分和不定积分的方法。
二、实验内容
1.利用符号表达式求值
已知x=6,y=5,利用符号表达式求
提示:
定义符号常数x=sym(‘6’),y=sym(‘5’)。
程序及运行结果(建议在命令窗口输入命令并运行):
2.分解因式
(1)x4-y4
(2)5135
程序及运行结果(建议在命令窗口输入命令并运行):
3.化简表达式
程序及运行结果(建议在命令窗口输入命令并运行):
4.符号矩阵运算
已知
完成下列运算:
(1)B=P1·P2·A。
(2)B的逆矩阵并验证结果。
(3)包括B矩阵主对角线元素的下三角阵。
(4)B的行列式值。
程序及运行结果(建议在命令窗口输入命令并运行):
5.用符号方法求下列极限或导数
程序及运行结果(建议在命令窗口输入命令并运行):
程序及运行结果(建议在命令窗口输入命令并运行):
程序及运行结果(建议在命令窗口输入命令并运行,参考教材P203):
6.用符号方法求下列积分
程序及运行结果(建议在命令窗口输入命令并运行):
程序及运行结果(建议在命令窗口输入命令并运行):
三、实验提示
四、教程:
第7章MATLAB符号计算(1/2)
7.1符号计算基础p192
7.1.1符号对象
1.建立符号变量和符号常量
(1)sym函数
符号量名=sym('符号字符串')
☞建立单个符号字符串。
☞符号字符串可以是常量、变量、函数或表达式。
☞符号变量参与运算前无须赋值,其结果是一个由参与运算的变量名组成的表达式。
例(符号变量与数值变量)p192
符号变量与数值变量在代数运算时的差别。
clearall;
%定义符号变量
a=sym('a');
b=sym('b');
c=sym('c');
%定义数值变量
x=5;
y=-8;
z=11;
w=a*a+b*b+c*c
v=x*x+y*y+z*z
whos
w=
a^2+b^2+c^2
v=
210
NameSizeBytesClassAttributes
a1x158sym
b1x158sym
c1x158sym
v1x18double
w1x1116sym
x1x18double
y1x18double
z1x18double
例(符号常量与数值常量)p193
符号常量与数值常量在代数运算时的差别。
(精确与近似)
(2)syms命令
syms符号变量名1符号变量名2…
☞定义多个符号变量。
☞不要在变量名上加字符串分界符(')。
☞变量间用空格而不用逗号分隔。
2.建立符号表达式
含有符号对象的表达式称符号表达式。
3种方法:
(1)用单引号。
(2)用sym函数。
(3)用已经定义的符号变量。
例(建立符号表达式)p194
7.1.2基本的符号运算p194
1.符号表达式的四则运算
符号表达式的四则运算与数值运算一样,用+、-、*、/、^运算符实现,运算结果依然是符号表达式。
2.符号表达式的提取分子和分母运算
[n,d]=numden(s)
提取符号表达式s的分子和分母,分别将它们存放在n与d中。
例(提取分子分母运算)p196
>>a=sym(0.33)
a=
33/100
>>[n,d]=numden(a)
n=
33
d=
100
>>f=sym('a*x^2/(b+x)')
f=
(a*x^2)/(b+x)
>>[s,t]=numden(f)
s=
a*x^2
t=
b+x
>>g=sym('(x^2+3)/(2*x-1)+3*x/(x-1)')
g=
(3*x)/(x-1)+(x^2+3)/(2*x-1)
>>[n,d]=numden(g)
n=
x^3+5*x^2-3
d=
2*x^2-3*x+1
>>h=sym('[3/2,(2*x+1)/3;a/x+a/y,3*x+4]')
h=
[3/2,(2*x)/3+1/3]
[a/x+a/y,3*x+4]
>>[n,d]=numden(h)
n=
[3,2*x+1]
[a*x+a*y,3*x+4]
d=
[2,3]
[x*y,1]
3.符号表达式s的因式分解与展开
Øfactor(s)分解因式
Øexpand(s)展开
Øcollect(s)合并同类项
Øcollect(s,v)按变量v合并同类项
例(因式分解与展开)p197
4.符号表达式的化简
Øsimplify(s)应用函数规则化简。
Øsimple(s)调用MATLAB的其他函数综合化简,并显示化简过程。
例(化简)p197
>>symsxya
>>s=log(2*x/y+1/y);
>>simplify(s)
ans=
log((2*x+1)/y)
>>s=(-a^2+1)/(1-a);
>>simplify(s)
ans=
a+1
>>symsxy
>>s=(x^2+y^2)^2+(x^2-y^2)^2;
>>simple(s)%给出多种化简结果供选择
simplify:
2*x^4+2*y^4
radsimp:
(x^2+y^2)^2+(x^2-y^2)^2
simplify(100):
2*x^4+2*y^4
combine(sincos):
(x^2+y^2)^2+(x^2-y^2)^2
combine(sinhcosh):
(x^2+y^2)^2+(x^2-y^2)^2
combine(ln):
(x^2+y^2)^2+(x^2-y^2)^2
factor:
2*(x^4+y^4)
expand:
2*x^4+2*y^4
combine:
(x^2+y^2)^2+(x^2-y^2)^2
rewrite(exp):
(x^2+y^2)^2+(x^2-y^2)^2
rewrite(sincos):
(x^2+y^2)^2+(x^2-y^2)^2
rewrite(sinhcosh):
(x^2+y^2)^2+(x^2-y^2)^2
rewrite(tan):
(x^2+y^2)^2+(x^2-y^2)^2
collect(x):
2*x^4+2*y^4
mwcos2sin:
(x^2+y^2)^2+(x^2-y^2)^2
ans=
2*x^4+2*y^4
5.符号表达式与数值表达式之间的转换
Øsym数值表达式变换成符号表达式。
Øeval符号表达式变换成数值表达式。
例(符号表达式与数值表达式之间的转换)p198
>>clearall;clc;
>>sym(1.5)
ans=
3/2
>>sym(3.14)
ans=
157/50
>>phi='(1+sqrt(5))/2'
phi=
(1+sqrt(5))/2
>>eval(phi)
ans=
1.6180
>>eval('234/5')
ans=
46.8000
7.1.3符号表达式中变量的确定p198
findsym(s,n)
☞查找一个符号表达式s中的n个符号变量。
☞若没有指定n,返回全部符号变量。
应用:
☞在求极限、导数和积分时,若未指定自变量,则按默认原则确定变量。
☞可用findsym(s,1)查找系统的默认变量。
☞按离x最近原则确定默认变量。
例(查找符号变量)p199
>>symsxayzb;
>>s1=3*x+y;
>>findsym(s1)
ans=
x,y
>>s2=a*y+b;
>>findsym(s2,2)
ans=
y,b
>>findsym(5*x+2)
ans=
x
>>c=sym('3');
>>findsym(a*x+b*y+c)%c不是变量
ans=
a,b,x,y
例(默认变量)p199
>>symsabwyz
>>findsym(a*y+b*w,1)
ans=
y
>>findsym(a*z+b*w,1)
ans=
w
>>findsym(a*5+b,1)
ans=
b
7.1.4符号矩阵p199
Øtranspose(s)返回s矩阵的转置矩阵。
Ødiag、triu、tril、inv、det、rank、eig等。
例(符号矩阵)p199
利用sym函数建立符号矩阵并化简。
clearall;clc;
symsabxyalp
m=sym('[a^3-b^3,sin(alp)^2+cos(alp)^2;(15*x*y-3*x^2)/(x-5*y),78]');
factor(m)
simplify(m)
ans=
[(a-b)*(a^2+a*b+b^2),cos(alp)^2+sin(alp)^2]
[(-3)*x,2*3*13]
ans=
[a^3-b^3,1]
[(-3)*x,78]
例(符号矩阵函数)p200
定义一个符号矩阵,并进行各种符号运算。
>>A=sym('[sin(x),cos(x);acos(x),asin(x)]')
A=
[sin(x),cos(x)]
[acos(x),asin(x)]
>>B=transpose(A)
B=
[sin(x),acos(x)]
[cos(x),asin(x)]
>>C=det(A)
C=
asin(x)*sin(x)-acos(x)*cos(x)
>>D=inv(A)
D=
[-asin(x)/(acos(x)*cos(x)-asin(x)*sin(x)),cos(x)/(acos(x)*cos(x)-asin(x)*sin(x))]
[acos(x)/(acos(x)*cos(x)-asin(x)*sin(x)),-sin(x)/(acos(x)*cos(x)-asin(x)*sin(x))]
>>E=diag(A,1)%第1条对角线
E=
cos(x)
>>F=triu(A)
F=
[sin(x),cos(x)]
[0,asin(x)]
>>n=rank(A)
n=
2
例7.1(符号矩阵)求解齐次线性方程组p200
当λ取何值时,齐次线性方程组:
有非零解(系数行列式为0)。
clearall;clc;
symslamda
A=[1-lamda,-2,4;2,3-lamda,1;1,1,1-lamda];
D=det(A);
factor(D)
ans=
-lamda*(lamda-2)*(lamda-3)
表符号计算基础函数p192~201
函数
说明
sym
建立单个符号量
将数值表达式变换成符号表达式
syms
定义多个符号变量
numden
提取分子和分母
factor
分解因式
expand
展开
collect
合并同类项
simplify
应用函数规则化简
simple
综合化简
eval
将符号表达式变换成数值表达式
findsym
查找符号表达式中的符号变量
transpose
符号矩阵的转置
7.2符号函数及其应用p201
7.2.1符号函数的极限
(1)limit(f,x,a):
x趋近于a时的极限。
(2)limit(f,a):
系统默认变量趋近于a的极限。
(3)limit(f):
系统默认变量趋近于0的极限。
(4)limit(f,x,a,'right'):
x从右边趋近于a的极限。
(5)limit(f,x,a,'left'):
x从左边趋近于a的极限。
例7.2求下列极限p201
>>symsamx;
>>f=(x^(1/m)-a^(1/m))/(x-a);
>>limit(f,x,a)
ans=
NaN
>>f=(sin(a+x)-sin(a-x))/x;
>>limit(f)
ans=
2*cos(a)
>>f=x*(sqrt(x^2+1)-x);
>>limit(f,x,inf,'left')
ans=
1/2
>>f=(sqrt(x)-sqrt(a)-sqrt(x-a))/sqrt(x*x-a*a);
>>limit(f,x,a,'right')
ans=
-1/(2*a)^(1/2)
7.2.2符号函数求导及其应用p202
(1)diff(s):
默认变量对s求一阶导数。
(2)diff(s,'v'):
v对s求一阶导数。
(3)diff(s,n):
默认变量对s求n阶导数。
(4)diff(s,'v',n):
v对s求n阶导数。
s为符号表达式。
例7.3求下列函数的导数p202
>>symsabtxyz;
>>f=sqrt(1+exp(x));%
(1)
>>diff(f)
ans=
exp(x)/(2*(exp(x)+1)^(1/2))
>>f=x*cos(x);%
(2)
>>diff(f,x,2)
ans=
-2*sin(x)-x*cos(x)
>>diff(f,x,3)
ans=
x*sin(x)-3*cos(x)
>>f1=a*cos(t);f2=b*sin(t);%(3)
>>diff(f2)/diff(f1)
ans=
-(b*cos(t))/(a*sin(t))
>>(diff(f1)*diff(f2,2)-diff(f1,2)*diff(f2))/(diff(f1))^3
ans=
-(a*b*cos(t)^2+a*b*sin(t)^2)/(a^3*sin(t)^3)
>>f=x*exp(y)/y^2;%(4)
>>diff(f,x)
ans=
exp(y)/y^2
>>diff(f,y)
ans=
(x*exp(y))/y^2-(2*x*exp(y))/y^3
>>f=x^2+y^2+z^2-a^2;%(5)
>>zx=-diff(f,x)/diff(f,z)
zx=
-x/z
>>zy=-diff(f,y)/diff(f,z)
zy=
-y/z
例7.4在曲线y=x3+3x-2上哪一点的切线与直线y=4x-1平行p203
>>x=sym('x');
>>y=x^3+3*x-2;
>>f=diff(y);
>>g=f-4;
>>solve(g)%求根
ans=
-3^(1/2)/3
3^(1/2)/3
表符号函数的极限和导数p201~204
函数
说明
limit
求符号函数的极限
diff
求符号函数的导数
7.3符号积分p204
7.3.1符号函数的不定积分
(1)int(f):
按默认变量对被积函数或符号表达式f求不定积分。
(2)int(f,v):
以v为自变量,对被积函数或符号表达式f求不定积分。
例7.5求下列不定积分p204
>>x=sym('x');
>>f=(3-x^2)^3;
>>int(f)
ans=
(9*x^5)/5-x^7/7-9*x^3+27*x
>>f=sin(x)^2;
>>int(f)
ans=
x/2-sin(2*x)/4
>>symsalphat;
>>f=exp(alpha*t);
>>int(f)
ans=
exp(alpha*t)/alpha
>>f=5*x*t/(1+x^2);
>>int(f,t)
ans=
(5*t^2*x)/(2*(x^2+1))
7.3.2符号函数的定积分p205
int(f,v,a,b)
求被积函数f在区间[a,b]上的定积分。
a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。
☞当f关于变量v在[a,b]上可积时,返回一个定积分结果。
☞当a,b中有一个是inf时,返回一个广义积分。
☞当a,b中有一个符号表达式时,返回一个符号函数。
例7.6求下列定积分p205
例7.7求椭球的体积p205
用平面Z=z0(z0≤c)去截取上述椭球时,其相交线是一个椭球,该椭球在xy平面投影的面积是:
椭球的体积:
例7.8求空间曲线c从点(0,0,0)到点(3,3,2)的长度p206
设曲线c的方程是:
求曲线c的长度是曲线一型积分问题。
曲线的起点和终点分别对应t=0和t=1。
曲线积分转化为定积分的公式是:
计算曲线长度时,被积函数f=1。
clearall;clc;
symst;
x=3*t;y=3*t^2;z=2*t^3;
f=diff([x,y,z],t);%求x,y,z对t的导数
g=sqrt(f*f');%计算根式部分
l=int(g,t,0,1)%有问题!
l=
5
7.3.3积分变换p206
积分变换是通过积分运算把一个函数f(原函数)变成另外一个函数F(像函数)。
变换过程是:
其中K(x,t)称为变换的核,它决定变换的不同名称。
应用:
☞若难从原方程求解f,则对原方程变换;
☞若从变换后的方程中求解F,则对F逆变换;
☞得原方程的解f。
1.傅里叶(Fourier)变换
当K(x,t)=e-itx(i为虚数单位)时,称
为傅里叶变换,其逆变换为
(1)fourier(f,x,t):
求f(x)的像函数F(t)。
(2)ifourier(F,t,x) :
求F(t)的原函数f(x)。
例7.9求函数y=|x|的傅里叶变换及其逆变换p207
clearall;clc;
symsxt;
y=abs(x);
Ft=fourier(y,x,t)
fx=ifourier(Ft,t,x)
Ft=
-2/t^2
fx=
x*(2*heaviside(x)-1)
Heaviside为单位跳跃函数,见教材。
2.拉普拉斯(Laplace)变换
当K(x,t)=e-tx时,称
为拉普拉斯变换,其逆变换为
(1)laplace(f,x,t):
求f(x)的像函数F(t)。
(2)ilaplace(F,t,x) :
求F(t)的原函数f(x)。
例7.10计算y=x2的拉普拉斯变换及其逆变换p207
clearall;clc;
x=sym('x');t=sym('t');
y=x^2;
Ft=laplace(y,x,t)
fx=ilaplace(Ft,t,x)
Ft=
2/t^3
fx=
x^2
3.Z变换
当f(x)呈现为一个离散数列f(n)时,称
为Z变换,其逆变换为
(1)ztrans(fn,n,z):
求fn的像函数F(z)。
(2)ztrans(Fz,z,n) :
求Fz的原函数f(n)。
例7.11求数列fn=e-n的Z变换及其逆变换p208
clearall;clc;
symsnz;
fn=exp(-n);
Fz=ztrans(fn,n,z)
f=iztrans(Fz,z,n)
Fz=
z/(z-1/exp
(1))
f=
kroneckerDelta(n,0)-(exp
(1)*kroneckerDelta(n,0)-(1/exp
(1))^n*exp
(1))/exp
(1)
表符号积分函数p204~208
函数
说明
int
求积分
fourier
傅里叶(Fourier)变换
ifourier
傅里叶(Fourier)逆变换
laplace
拉普拉斯(Laplace)变换
ilaplace
拉普拉斯(Laplace)逆变换
ztrans
Z变换
iztrans
Z逆变换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 符号 计算 基础 微积分