matlab课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章习题
1.观察一个数(在此用@记述)在以下四条不同指令作用下的异同:
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))等来观察。
a=7/3
b=sym(7/3)
c=sym(7/3,'d')
d=sym('7/3')
vpa(abs(a-d))
vpa(abs(a-b))
vpa(abs(c-d))
a =
2.3333
b =
7/3
c =
2.3333333333333334813630699500209
d =
7/3
ans =
0.0
ans =
0.0
ans =
0.00000000000000014802973661668756666666667788716
a=pi/3
b=sym(pi/3)
c=sym(pi/3,'d')
d=sym('pi/3')
vpa(abs(a-d))
vpa(abs(a-b))
vpa(abs(c-d))
a =
1.0472
b =
pi/3
c =
1.047197551196597631317786181171
d =
pi/3
ans =
0.0
ans =
0.0
ans =
0.00000000000000011483642827992216762806615818554
2.说出以下三条指令产生的结果各属于那种数据类型,是“双精度”对象,还是“符号”对象?
3/7+0.1,sym(3/7+0.1),vpa(sym(3/7+0.1))
a=3/7+0.1
b=sym(3/7+0.1)
c=vpa(sym(3/7+0.1))
class(a)
class(b)
class(c)
a =
0.5286
b =
37/70
c =
0.52857142857142857142857142857143
ans =
double
ans =
sym
ans =
sym
3.在不加专门指定的情况下,以下符号表达中的那一个变量是独立自由变量。
sym(‘sin(w*t)’),sym(‘a*exp(-x)’),sym(‘z*exp(j*theta)’)
syms t w x a j z theta
a=sin(w*t)
b=a*exp(-x)
c=z*exp(j*theta)
findsym(a)
findsym(b)
findsym(c)
a =
sin(t*w)
b =
sin(t*w)/exp(x)
c =
z*exp(j*theta)
ans =
t,w
ans =
t,w,x
ans =
j,theta,z
6.对于x>0,求∑2/2k+1(x-1/x+1)^(2k+1) (k=0至∞)
syms k x;
f=2*(x-1/x+1)^(2*k+1)/(2*k+1)
a=simple(symsum(f,k,0,inf))
c=simple(a)
f =
(2*(x - 1/x + 1)^(2*k + 1))/(2*k + 1)
a =
piecewise([abs(x - 1/x + 1) < 1, 2*atanh(x - 1/x + 1)])
c =
piecewise([abs(x - 1/x + 1) < 1, 2*atanh(x - 1/x + 1)])
7.(1)通过符号计算求y(t)=|sin(t)|的导数dy/dt。(2)然后根据此结果,求dy/dt|t=0-和dy/dt|t=pi/2。
syms t
f=abs(sin(t))
a=diff(f,t)
limit(a,t,0,'left')
limit(a,t,pi/2)
f =
abs(sin(t))
a =
sign(sin(t))*cos(t)
ans =
-1
ans =
9.计算二重积分∫∫(x^2+y^2)dydx。 (外重积分限 1 2;内重积分限 1 x^2) syms x y;
f=x^2+y^2;
a=int(int(f,y,1,x^2),x,1,2)
a =
1006/105
第三章习题
1.要求在闭区间[0,2pi]上产生具有10各等距采样点的一维数组。使用两种不同的指令实现。
a=0:2*pi/9:2*pi
a =
Columns 1 through 8
0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869
Columns 9 through 10
5.5851
6.2832
logspace(0,2*pi,10)
ans =
1.0e+006 *
Columns 1 through 8
0.0000 0.0000 0.0000 0.0001 0.0006 0.0031 0.0154 0.0771
Columns 9 through 10
0.3846 1.9195
2.由指令rand(‘twister’,0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素位置,分别求出它们的“全下标”和“单下标”。
rand('twister',0)
A=rand(3,5)
A =
0.5488 0.5449 0.4376 0.3834 0.5680
0.7152 0.4237 0.8918 0.7917 0.9256
0.6028 0.6459 0.9637 0.5289 0.0710
A>0.5
ans =
1 1 0 0 1
1 0 1 1 1
1 1 1 1 0
A(:)
ans =
0.5488