实验符号计算基础与符号微积分.docx

上传人:b****6 文档编号:4722665 上传时间:2022-12-07 格式:DOCX 页数:23 大小:322.26KB
下载 相关 举报
实验符号计算基础与符号微积分.docx_第1页
第1页 / 共23页
实验符号计算基础与符号微积分.docx_第2页
第2页 / 共23页
实验符号计算基础与符号微积分.docx_第3页
第3页 / 共23页
实验符号计算基础与符号微积分.docx_第4页
第4页 / 共23页
实验符号计算基础与符号微积分.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

实验符号计算基础与符号微积分.docx

《实验符号计算基础与符号微积分.docx》由会员分享,可在线阅读,更多相关《实验符号计算基础与符号微积分.docx(23页珍藏版)》请在冰豆网上搜索。

实验符号计算基础与符号微积分.docx

实验符号计算基础与符号微积分

实验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逆变换

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1