MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx

上传人:b****5 文档编号:29701092 上传时间:2023-07-26 格式:DOCX 页数:24 大小:87.35KB
下载 相关 举报
MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx_第1页
第1页 / 共24页
MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx_第2页
第2页 / 共24页
MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx_第3页
第3页 / 共24页
MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx_第4页
第4页 / 共24页
MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx

《MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx》由会员分享,可在线阅读,更多相关《MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx(24页珍藏版)》请在冰豆网上搜索。

MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编.docx

MATLAB教程a习题解答17章完整版张志涌北航之欧阳体创编

●MATLABR2012a

时间:

2021.02.03

创作:

欧阳体

●课后习题答案全解

●第一章基础准备及入门

习题1及解答

⏹1.数字1.5e2,1.5e3中的哪个与1500相同吗?

〖解答〗

1.5e3

⏹2.请指出如下5个变量名中,哪些是合法的?

abcd-2xyz_33chana变量ABCDefgh

〖解答〗

2、5是合法的。

⏹3.在MATLAB环境中,比1大的最小数是多少?

〖解答〗

1+eps

⏹4.设a=-8,运行以下三条指令,问运行结果相同吗?

为什么?

w1=a^(2/3)

w2=(a^2)^(1/3)

w3=(a^(1/3))^2

〖解答〗

(1)不同。

具体如下

w1=a^(2/3)%仅求出主根

w2=(a^2)^(1/3)%求出(-8)^2的主根

w3=(a^(1/3))^2%求出(-8)主根后再平方

w1=

-2.0000+3.4641i

w2=

4.0000

w3=

-2.0000+3.4641i

(2)复数的多方根的,下面是求取全部方根的两种方法:

(A)根据复数方根定义

a=-8;n=2;m=3;

ma=abs(a);aa=angle(a);

fork=1:

m%m决定循环次数

sa(k)=(aa+2*pi*(k-1))*n/m;%计算各根的相角

end

result=(ma^(2/3)).*exp(j*sa)%计算各根

result=

-2.0000+3.4641i4.0000-0.0000i-2.0000-3.4641i

(B)利用多项式

求根

p=[1,0,0,-a^2];

r=roots(p)

r=

-2.0000+3.4641i

-2.0000-3.4641i

4.0000

⏹5.指令clear,clf,clc各有什么用处?

〖解答〗

clear清除工作空间中所有的变量。

clf清除当前图形。

clc清除命令窗口中所有显示。

⏹6.以下两种说法对吗?

(1)“MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。

(2)MATLAB指令窗中显示的数值有效位数不超过7位。

〖解答〗

(1)否;

(2)否。

⏹7.想要在MATLAB中产生二维数组

,下面哪些指令能实现目的?

(1)S=[1,2,3;4,5,6;7,8;9]

(2)S=[123;456;789]

(3)S=[1,2,3;4,5,6;7,8,9]%整个指令在中文状态下输入

〖解答〗

前两种输入方法可以,后一种方法不行。

⏹8.试为例1.3-5编写一个解题用的M脚本文件?

〖解答〗

直接点击新文件图标,出现M文件编辑器窗口;在该M文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m,便得到所需的脚本文件。

第2章符号运算

习题2及解答

⏹/1说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?

3/7+0.1;sym(3/7+0.1);sym('3/7+0.1');vpa(sym(3/7+0.1))

〖目的〗

●不能从显示形式判断数据类型,而必须依靠class指令。

〖解答〗

c1=3/7+0.1

c2=sym(3/7+0.1)

c3=sym('3/7+0.1')

c4=vpa(sym(3/7+0.1))

Cs1=class(c1)

Cs2=class(c2)

Cs3=class(c3)

Cs4=class(c4)

c1=

0.5286

c2=

37/70

c3=

0.52857142857142857142857142857143

c4=

0.52857142857142857142857142857143

Cs1=

double

Cs2=

sym

Cs3=

sym

Cs4=

sym

⏹/2在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.

sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')

〖目的〗

●理解自由符号变量的确认规则。

〖解答〗

symvar(sym('sin(w*t)'),1)

ans=

w

symvar(sym('a*exp(-X)'),1)

ans=

a

symvar(sym('z*exp(j*th)'),1)

ans=

z

⏹/3求以下两个方程的解

(1)试写出求三阶方程

正实根的程序。

注意:

只要正实根,不要出现其他根。

(2)试求二阶方程

时的根。

〖目的〗

●体验变量限定假设的影响

〖解答〗

(1)求三阶方程

正实根

reset(symengine)%确保下面操作不受前面指令运作的影响

symsxpositive

solve(x^3-44.5)

ans=

(2^(2/3)*89^(1/3))/2

(2)求五阶方程

的实根

symsapositive%注意:

关于x的假设没有去除

solve(x^2-a*x+a^2)

Warning:

Explicitsolutioncouldnotbefound.

>Insolveat83

ans=

[emptysym]

symsxclear

symsapositive

solve(x^2-a*x+a^2)

ans=

a/2+(3^(1/2)*a*i)/2

a/2-(3^(1/2)*a*i)/2

⏹/4观察一个数(在此用@记述)在以下四条不同指令作用下的异同。

a=@,b=sym(@),c=sym(@,'d'),d=sym('@')

在此,@分别代表具体数值7/3,pi/3,pi*3^(1/3);而异同通过vpa(abs(a-d)),vpa(abs(b-d)),vpa(abs(c-d))等来观察。

〖目的〗

●理解准确符号数值的创建法。

●高精度误差的观察。

〖解答〗

(1)x=7/3

x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'),

a=

2.3333

b=

7/3

c=

2.3333333333333334813630699500209

d=

7/3

v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))

v1=

0.0

v2=

0.0

v3=

0.00000000000000014802973661668756666666667788716

(2)x=pi/3

x=pi/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('pi/3'),

a=

1.0472

b=

pi/3

c=

.0471********

d=

pi/3

v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))

v1=

0.0

v2=

0.0

v3=

0.00000000000000011483642827992216762806615818554

(3)x=pi*3^(1/3)

x=pi*3^(1/3);a=x,b=sym(x),c=sym(x,'d'),d=sym('pi*3^(1/3)')

a=

4.5310

b=

1275352044764433/281474976710656

c=

4.5309606547207899041040946030989

d=

pi*3^(1/3)

v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))

v1=

0.00000000000000026601114166290944374842393221638

v2=

0.00000000000000026601114166290944374842393221638

v3=

0.0000000000000002660111416629094726767991785515

⏹/5求符号矩阵

的行列式值和逆,所得结果应采用“子表达式置换”简洁化。

〖目的〗

●理解subexpr指令。

〖解答〗

A=sym('[a11a12a13;a21a22a23;a31a32a33]')

DA=det(A)

IA=inv(A);

[IAs,d]=subexpr(IA,d)

A=

[a11,a12,a13]

[a21,a22,a23]

[a31,a32,a33]

DA=

a11*a22*a33-a11*a23*a32-a12*a21*a33+a12*a23*a31+a13*a21*a32-a13*a22*a31

IAs=

[d*(a22*a33-a23*a32),-d*(a12*a33-a13*a32),d*(a12*a23-a13*a22)]

[-d*(a21*a33-a23*a31),d*(a11*a33-a13*a31),-d*(a11*a23-a13*a21)]

[d*(a21*a32-a22*a31),-d*(a11*a32-a12*a31),d*(a11*a22-a12*a21)]

d=

1/(a11*a22*a33-a11*a23*a32-a12*a21*a33+a12*a23*a31+a13*a21*a32-a13*a22*a31)

⏹/6求

的符号解,并进而用该符号解求

的准确值。

〖目的〗

●symsum,subs的应用。

●从实例中,感受指令所给出的关于

符号解的含义。

〖解答〗

symsxk

f=x^(k);

Z1=symsum(f,k,0,inf)

Z1=

piecewise([1<=x,Inf],[abs(x)<1,-1/(x-1)])%piecewise分段函数

subs(Z1,x,{sym('-1/3'),sym('1/pi'),sym('3')})

ans=

[3/4,-1/(1/pi-1),Inf]

⏹/7对于

,求

(提示:

理论结果为

〖目的〗

●符号变量的限定性定义的作用。

〖解答〗

symsk;

x=sym('x','positive');

f_k=2/(2*k+1)*((x-1)/(x+1))^(2*k+1);

s=simple(symsum(f_k,k,0,inf))%结果与理论值lnx相符!

s=

piecewise([abs(x-1)

〖注意〗

●解答中,条件abs(x-1)

⏹约束一:

x-1

2>0

此式总成立,说明“无约束”。

⏹情况二:

-(x-1)

x>0

此为“约束”,满足题意。

⏹/8

(1)通过符号计算求

的导数

(2)然后根据此结果,求

〖目的〗

●diff,limit指令的应用。

●如何理解运行结果。

〖解答〗

symst

y=abs(sin(t))

d=diff(y)%求dy/dt

d0_=limit(d,t,0,'left')%求dy/dt|t=0-

dpi_2=limit(d,t,pi/2)%求dy/dt|t=pi/2

y=

abs(sin(t))

d=

sign(sin(t))*cos(t)

d0_=

-1

dpi_2=

0

⏹/9求出

的具有64位有效数字的积分值。

〖目的〗

●符号积分的解析解和符号数值解。

●符号计算和数值计算的相互校验。

〖解答〗

(1)符号积分

symsxclear

symsx

y=exp(-abs(x))*abs(sin(x))

si=vpa(int(y,-10*pi,1.7*pi),64)%vpa指定精确位数

y=

abs(sin(x))/exp(abs(x))

si=

1.087849499412904913166671875948174520895458535212845987519414166

(2)数值计算复验

xx=-10*pi:

pi/100:

1.7*pi;

sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100%trapz梯形法求积分

sn=

1.0877

⏹/10计算二重积分

〖目的〗

●变上限二重积分的符号计算法。

〖解答〗

symsxy

f=x^2+y^2;

r=int(int(f,y,1,x^2),x,1,2)

r=

1006/105

⏹/11在

区间,画出

曲线,并计算

〖目的〗

●在符号计算中,经常遇到计算结果是特殊经典函数的情况。

●如何应用subs获得超过16位有效数字的符号数值结果。

●初步尝试ezplot指令的简便。

〖解答〗

(1)符号计算

symstx;

f=sin(t)/t;

y=int(f,t,0,x)%将得到一个特殊经典函数

y5=subs(y,x,sym('4.5'))

ezplot(y,[0,2*pi])

y=

sinint(x)

y5=

1.6541404143792439835039224868515

(2)数值计算复验

tt=0:

0.001:

4.5;

tt

(1)=eps;

yn=trapz(sin(tt)./tt)*0.001

yn=

1.6541

⏹/12在

的限制下,求

的一般积分表达式,并计算

的32位有效数字表达。

〖目的〗

●一般符号解与高精度符号数值解。

〖解答〗

symsx

symsnpositive

f=sin(x)^n;

yn=int(f,x,0,pi/2)

y3s=vpa(subs(yn,n,sym('1/3')))

y3d=vpa(subs(yn,n,1/3))

yn=

beta(1/2,n/2+1/2)/2

y3s=

1.2935547796148952674767575125656

y3d=

1.2935547796148951782413405453553

⏹13.有序列

,(在此

),求这两个序列的卷积

〖目的〗

●符号离散卷积直接法和变换法。

〖解答〗

(1)直接法

symsabkn

x=a^k;

h=b^k;

w=symsum(subs(h,k,n)*subs(x,k,k-n),n,0,k)%据定义

y1=simple(w)

w=

piecewise([a=b,b^k+b^k*k],[a<>b,(a*a^k-b*b^k)/(a-b)])

y1=

piecewise([a=b,b^k+b^k*k],[a<>b,(a*a^k-b*b^k)/(a-b)])

(2)变换法(复验)

symsz

X=ztrans(a^k,k,z);

H=ztrans(b^k,k,z);

y2=iztrans(H*X,z,k)%通过Z变换及反变换

y2=

piecewise([b<>0,(a*a^k)/(a-b)-(b*b^k)/(a-b)])

〖说明〗

●符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。

此时,必须通过手工解决。

⏹14.设系统的冲激响应为

,求该系统在输入

作用下的输出。

〖目的〗

●符号连续函数卷积的直接法和变换法。

●符号变量限定性定义的作用。

●laplace,ilaplace指令的应用。

〖解答〗

(1)直接法

symst

h=exp(-3*t);u=cos(t);

symstao;

h_tao=subs(h,t,tao);

u_t_tao=subs(u,t,t-tao);

hu_tao=h_tao*u_t_tao;

hut=simple(int(hu_tao,tao,0,t))%直接卷积

hut=

(3*cos(t))/10-3/(10*exp(3*t))+sin(t)/10

(2)变换法(复验)

symss;

HU=laplace(h,t,s)*laplace(u,t,s);

huL=simple(ilaplace(HU,s,t))%拉氏变换及反变换

huL=

(3*cos(t))/10-3/(10*exp(3*t))+sin(t)/10

⏹15.求

的Fourier变换。

〖目的〗

●符号变量限定性定义的作用。

●fourier指令的应用。

〖解答〗

symsAtw

a=sym('a','positive');

f=A*exp(-a*abs(t));

y=fourier(f,t,w)

F=simple(y)

y=

(2*A*a)/(a^2+w^2)

F=

(2*A*a)/(a^2+w^2)

⏹16.求

的Fourier变换,并画出

时的幅频谱。

〖目的〗

●单位阶跃符号函数heaviside的应用。

●subs实现多变量置换。

●ezplot的使用。

〖解答〗

symstAw;

tao=sym('tao','positive');

f=A*((1+t/tao)*(heaviside(t+tao)-heaviside(t))+(1-t/tao)*(heaviside(t)-heaviside(t-tao)));

Fw=fourier(f,t,w);

Fws=simple(Fw)

Fw2=subs(Fws,[A,tao],[2,2])

ezplot(abs(Fw2))

grid

Fws=

-(4*A*(cos((tao*w)/2)^2-1))/(tao*w^2)

Fw2=

-(8*cos(w)^2-8)/(2*w^2)

⏹17.求

的Laplace反变换。

〖解答〗

symsst

F=(s+3)/(s^3+3*s^2+6*s+4);

f=simple(ilaplace(F,s,t))

f=

(3^(1/2)*sin(3^(1/2)*t)-2*cos(3^(1/2)*t)+2)/(3*exp(t))

⏹18.利用符号运算证明Laplace变换的时域求导性质:

〖目的〗

●符号计算用于定理证明。

〖解答〗

symsts;

y=sym('f(t)');

df=diff(y,t);

Ldy=laplace(df,t,s)

Ldy=

s*laplace(f(t),t,s)-f(0)

⏹19.求

的Z变换表达式。

〖目的〗

●注意:

变换中,被变换变量的约定。

〖解答〗

symslambdakTz;

f_k=k*exp(-lambda*k*T);

F_z=simple(ztrans(f_k,k,z))

F_z=

(z*exp(T*lambda))/(z*exp(T*lambda)-1)^2

⏹20.求方程

的解。

〖目的〗

●solve指令中,被解方程的正确书写,输出量的正确次序。

〖解答〗

eq1='x^2+y^2=1';

eq2='x*y=2';

[x,y]=solve(eq1,eq2,'x','y')

x=

(1/2+(15^(1/2)*i)/2)^(1/2)/2-(1/2+(15^(1/2)*i)/2)^(3/2)/2

-(1/2+(15^(1/2)*i)/2)^(1/2)/2+(1/2+(15^(1/2)*i)/2)^(3/2)/2

(1/2-(15^(1/2)*i)/2)^(1/2)/2-(1/2-(15^(1/2)*i)/2)^(3/2)/2

-(1/2-(15^(1/2)*i)/2)^(1/2)/2+(1/2-(15^(1/2)*i)/2)^(3/2)/2

y=

(1/2+(15^(1/2)*i)/2)^(1/2)

-(1/2+(15^(1/2)*i)/2)^(1/2)

(1/2-(15^(1/2)*i)/2)^(1/2)

-(1/2-(15^(1/2)*i)/2)^(1/2)

⏹21.求图p2-1所示信号流图的系统传递函数,并对照胡寿松主编“自动控制原理”中的例2-21结果,进行局部性验证。

图p2-1

〖目的〗

●理解和掌握信号流图传递函数的“代数状态方程解法”。

●并设法用胡寿松主编的“自动控制原理”的例2-21进行局部性验证。

〖解答〗

(1)求传递函数

symsG1G2G3G4G5G6G7H1H2H3H4H5

A=[0000-H3-H4;

G10-H1000;

0G200-H2G6;

00G300G7;

000G400;

0G5000-H5];

b=[1;0;0;0;0;0];

c=[000010];

Y2U=c*((eye(size(A))-A)\b);%求传递函数

[NN,DD]=numden(Y2U);%分离出分子、分母多项式

DD=sort(DD);%分母多项式排序

disp([blanks(5),'传递函数Y2U为'])

pretty(NN/DD)

传递函数Y2U为

(G1G4(G2G3+G5G7+G3G5G6+G2G3H5))/

(H5+G2H1+G3G4H2+G1G5H4+G5G6H1+G2H1H5+G3G4H2H5+

G1G2G3G4H3+G1G4G5G7H3-G4G5G7H1H2+G1G3G4G5G6H3+

G1G2G3G4H3H5+G1G3G4G5H2H4+1)

(2)局部性验证

symsabcdefg

y2u=subs(Y2U,[G1,G2,G3,G4,G5,G6,G7,H1,H2,H3,H4,H5],[a,e,f,1,b,c,0,g,0,0,0,d]);

[nn,dd]=numden(y2u);

dd=sort(dd);

disp([blanks(5),'局部性验证用的传递函数y2u'])

pretty(nn/dd)

局部性验证用的传递函数y2u

a(ef+bcf+def)

---------------------------

d+eg+bcg+deg+1

此结果与胡寿松主编的“自

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

当前位置:首页 > 农林牧渔 > 农学

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

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