实验符号计算基础与符号微积分Word格式.docx
《实验符号计算基础与符号微积分Word格式.docx》由会员分享,可在线阅读,更多相关《实验符号计算基础与符号微积分Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
);
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)
x^3+5*x^2-3
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)
[3,2*x+1]
[a*x+a*y,3*x+4]
[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);
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):
combine(sincos):
combine(sinhcosh):
combine(ln):
factor:
2*(x^4+y^4)
expand:
combine:
rewrite(exp):
rewrite(sincos):
rewrite(sinhcosh):
rewrite(tan):
collect(x):
mwcos2sin:
5.符号表达式与数值表达式之间的转换
sym数值表达式变换成符号表达式。
eval符号表达式变换成数值表达式。
例(符号表达式与数值表达式之间的转换)p198
clearall;
clc;
sym(1.5)
3/2
sym(3.14)
157/50
phi='
(1+sqrt(5))/2'
phi=
(1+sqrt(5))/2
eval(phi)
1.6180
eval('
234/5'
46.8000
7.1.3符号表达式中变量的确定p198
findsym(s,n)
☞查找一个符号表达式s中的n个符号变量。
☞若没有指定n,返回全部符号变量。
应用:
☞在求极限、导数和积分时,若未指定自变量,则按默认原则确定变量。
☞可用findsym(s,1)查找系统的默认变量。
☞按离x最近原则确定默认变量。
例(查找符号变量)p199
symsxayzb;
s1=3*x+y;
findsym(s1)
x,y
s2=a*y+b;
findsym(s2,2)
y,b
findsym(5*x+2)
x
c=sym('
3'
findsym(a*x+b*y+c)%c不是变量
a,b,x,y
例(默认变量)p199
symsabwyz
findsym(a*y+b*w,1)
y
findsym(a*z+b*w,1)
w
findsym(a*5+b,1)
b
7.1.4符号矩阵p199
transpose(s)返回s矩阵的转置矩阵。
diag、triu、tril、inv、det、rank、eig等。
例(符号矩阵)p199
利用sym函数建立符号矩阵并化简。
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)
[(a-b)*(a^2+a*b+b^2),cos(alp)^2+sin(alp)^2]
[(-3)*x,2*3*13]
[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)
2
例7.1(符号矩阵)求解齐次线性方程组p200
当λ取何值时,齐次线性方程组:
有非零解(系数行列式为0)。
symslamda
A=[1-lamda,-2,4;
2,3-lamda,1;
1,1,1-lamda];
D=det(A);
factor(D)
-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)
NaN
f=(sin(a+x)-sin(a-x))/x;
limit(f)
2*cos(a)
f=x*(sqrt(x^2+1)-x);
limit(f,x,inf,'
1/2
f=(sqrt(x)-sqrt(a)-sqrt(x-a))/sqrt(x*x-a*a);
limit(f,x,a,'
-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,'
n):
v对s求n阶导数。
s为符号表达式。
例7.3求下列函数的导数p202
symsabtxyz;
f=sqrt(1+exp(x));
%
(1)
diff(f)
exp(x)/(2*(exp(x)+1)^(1/2))
f=x*cos(x);
%
(2)
diff(f,x,2)
-2*sin(x)-x*cos(x)
diff(f,x,3)
x*sin(x)-3*cos(x)
f1=a*cos(t);
f2=b*sin(t);
%(3)
diff(f2)/diff(f1)
-(b*cos(t))/(a*sin(t))
(diff(f1)*diff(f2,2)-diff(f1,2)*diff(f2))/(diff(f1))^3
-(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)
exp(y)/y^2
diff(f,y)
(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)%求根
-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
f=(3-x^2)^3;
int(f)
(9*x^5)/5-x^7/7-9*x^3+27*x
f=sin(x)^2;
x/2-sin(2*x)/4
symsalphat;
f=exp(alpha*t);
exp(alpha*t)/alpha
f=5*x*t/(1+x^2);
int(f,t)
(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。
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
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):
(2)ilaplace(F,t,x)
例7.10计算y=x2的拉普拉斯变换及其逆变换p207
x=sym('
t=sym('
t'
y=x^2;
Ft=laplace(y,x,t)
fx=ilaplace(Ft,t,x)
2/t^3
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
symsnz;
fn=exp(-n);
Fz=ztrans(fn,n,z)
f=iztrans(Fz,z,n)
Fz=
z/(z-1/exp
(1))
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逆变换