matlab课后习题解答第二章doc
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
huL=simple(ilaplace(HU,s,t))%拉氏变换及反变换
huL =
(3*cos(t))/10 - 3/(10*exp(3*t)) + sin(t)/10
115
〖目的〗
符号变量限定性定义的作用。
fourier指令的应用。
〖解答〗
syms A t w
a=sym('a','positive');
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 =
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)变换法(复验)
syms z
y3d =
1.2935547796148951782413405453553
113
〖目的〗
符号离散卷积直接法和变换法。
〖解答〗
(1)直接法
syms a b kn
x=a^k;
h=b^k;
w=symsum(subs(h,k,n)*subs(x,k,k-n),n,0,k)%据定义
y1=simple(w)
w =
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)]
(2)数值计算复验
xx=-10*pi:pi/100:1.7*pi;
sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100
sn =
1.0877
110
〖目的〗
变上限二重积分的符号计算法。
〖解答〗
syms x y
f=x^2+y^2;
r=int(int(f,y,1,x^2),x,1,2)
v2 =
0.00000000000000026601114166290944374842393221638
v3 =
0.0000000000000002660111416629094726767991785515
15
〖目的〗
理解subexpr指令。
〖解答〗
A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')
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
17
〖目的〗
符号变量的限定性定义的作用。
〖解答〗
syms k;
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) < x + 1, log(x)])
〖解答〗
syms x
syms n positive
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
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 =wk.baidu.com
(2)求五阶方程 的实根
syms a positive%注意:关于x的假设没有去除
solve(x^2-a*x+a^2)
Warning: Explicit solution could not be found.
> In solve at 83
ans =
[ empty sym ]
syms x clear
114
〖目的〗
符号连续函数卷积的直接法和变换法。
符号变量限定性定义的作用。
laplace, ilaplace指令的应用。
〖解答〗
(1)直接法
syms t
h=exp(-3*t);u=cos(t);
syms tao;
h_tao=subs(h,t,tao);
u_t_tao=subs(u,t,t-tao);
ans =
a
symvar(sym('z*exp(j*th)'),1)
ans =
z
13
(
(
〖目的〗
体验变量限定假设的影响
〖解答〗
(1)求三阶方程 正实根
reset(symengine)%确保下面操作不受前面指令运作的影响
syms x positive
solve(x^3-44.5)
ans =
(2^(2/3)*89^(1/3))/2
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)
116
〖目的〗
单位阶跃符号函数heaviside的应用。
subs实现多变量置换。
ezplot的使用。
〖解答〗
syms t A w;
syms a positive
solve(x^2-a*x+a^2)
ans =
a/2 + (3^(1/2)*a*i)/2
a/2 - (3^(1/2)*a*i)/2
14
a =
在此,
〖目的〗
理解准确符号数值的创建法。
高精度误差的观察。
〖解答〗
(1)x=7/3
x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'),
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
112
〖目的〗
一般符号解与高精度符号数值解。
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
19
〖目的〗
符号积分的解析解和符号数值解。
符号计算和数值计算的相互校验。
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)])
〖说明〗
符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。此时,必须通过手工解决。
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)变换法(复验)
syms s;
HU=laplace(h,t,s)*laplace(u,t,s);
Z1=symsum(f,k,0,inf)
Z1 =
piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)])
subs(Z1,x,{sym('-1/3'),sym('1/pi'),sym('3')})
ans =
[ 3/4, -1/(1/pi - 1), Inf]
第2章
习题
11
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))
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 =
1.047197551196597631317786181171
d =
pi/3
v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))
〖注意〗
解答中,条件abs(x - 1) < x + 1意味着:
约束一:x-1<x+1 2>0 此式总成立,说明“无约束”。
情况二:-(x-1)<x+1 x>0 此为“约束”,满足题意。
18
〖目的〗
diff, limit指令的应用。
如何理解运行结果。
〖解答〗
syms t
y=abs(sin(t))
d=diff(y) %求dy/dt
〖解答〗
(1)符号积分
syms x clear
syms x
y=exp(-abs(x))*abs(sin(x))
si=vpa(int(y,-10*pi,1.7*pi),64)
y =
abs(sin(x))/exp(abs(x))
si =
1.087849499412904913166671875948174520895458535212845987519414166
tao=sym('tao','positive');
f=A*((1+t/tao)*(heaviside(t+tao)-heaviside(t))+(1-t/tao)*(heaviside(t)-heaviside(t-tao)));
r =
1006/105
111
〖目的〗
在符号计算中,经常遇到计算结果是特殊经典函数的情况。
如何应用subs获得超过16位有效数字的符号数值结果。
初步尝试ezplot指令的简便。
〖解答〗
(1)符号计算
symstx;
f=sin(t)/t;
y=int(f,t,0,x)%将得到一个特殊经典函数
y5=subs(y,x,sym('4.5'))
double
Cs2 =
sym
Cs3 =
sym
Cs4 =
sym
12
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)
d =
1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)
16
〖目的〗
symsum, subs的应用。
从实例中,感受指令所给出的关于 符号解的含义。
〖解答〗
symsx k
f=x^(k);
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
huL =
(3*cos(t))/10 - 3/(10*exp(3*t)) + sin(t)/10
115
〖目的〗
符号变量限定性定义的作用。
fourier指令的应用。
〖解答〗
syms A t w
a=sym('a','positive');
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 =
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)变换法(复验)
syms z
y3d =
1.2935547796148951782413405453553
113
〖目的〗
符号离散卷积直接法和变换法。
〖解答〗
(1)直接法
syms a b kn
x=a^k;
h=b^k;
w=symsum(subs(h,k,n)*subs(x,k,k-n),n,0,k)%据定义
y1=simple(w)
w =
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)]
(2)数值计算复验
xx=-10*pi:pi/100:1.7*pi;
sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100
sn =
1.0877
110
〖目的〗
变上限二重积分的符号计算法。
〖解答〗
syms x y
f=x^2+y^2;
r=int(int(f,y,1,x^2),x,1,2)
v2 =
0.00000000000000026601114166290944374842393221638
v3 =
0.0000000000000002660111416629094726767991785515
15
〖目的〗
理解subexpr指令。
〖解答〗
A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')
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
17
〖目的〗
符号变量的限定性定义的作用。
〖解答〗
syms k;
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) < x + 1, log(x)])
〖解答〗
syms x
syms n positive
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
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 =wk.baidu.com
(2)求五阶方程 的实根
syms a positive%注意:关于x的假设没有去除
solve(x^2-a*x+a^2)
Warning: Explicit solution could not be found.
> In solve at 83
ans =
[ empty sym ]
syms x clear
114
〖目的〗
符号连续函数卷积的直接法和变换法。
符号变量限定性定义的作用。
laplace, ilaplace指令的应用。
〖解答〗
(1)直接法
syms t
h=exp(-3*t);u=cos(t);
syms tao;
h_tao=subs(h,t,tao);
u_t_tao=subs(u,t,t-tao);
ans =
a
symvar(sym('z*exp(j*th)'),1)
ans =
z
13
(
(
〖目的〗
体验变量限定假设的影响
〖解答〗
(1)求三阶方程 正实根
reset(symengine)%确保下面操作不受前面指令运作的影响
syms x positive
solve(x^3-44.5)
ans =
(2^(2/3)*89^(1/3))/2
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)
116
〖目的〗
单位阶跃符号函数heaviside的应用。
subs实现多变量置换。
ezplot的使用。
〖解答〗
syms t A w;
syms a positive
solve(x^2-a*x+a^2)
ans =
a/2 + (3^(1/2)*a*i)/2
a/2 - (3^(1/2)*a*i)/2
14
a =
在此,
〖目的〗
理解准确符号数值的创建法。
高精度误差的观察。
〖解答〗
(1)x=7/3
x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'),
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
112
〖目的〗
一般符号解与高精度符号数值解。
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
19
〖目的〗
符号积分的解析解和符号数值解。
符号计算和数值计算的相互校验。
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)])
〖说明〗
符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。此时,必须通过手工解决。
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)变换法(复验)
syms s;
HU=laplace(h,t,s)*laplace(u,t,s);
Z1=symsum(f,k,0,inf)
Z1 =
piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)])
subs(Z1,x,{sym('-1/3'),sym('1/pi'),sym('3')})
ans =
[ 3/4, -1/(1/pi - 1), Inf]
第2章
习题
11
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))
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 =
1.047197551196597631317786181171
d =
pi/3
v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))
〖注意〗
解答中,条件abs(x - 1) < x + 1意味着:
约束一:x-1<x+1 2>0 此式总成立,说明“无约束”。
情况二:-(x-1)<x+1 x>0 此为“约束”,满足题意。
18
〖目的〗
diff, limit指令的应用。
如何理解运行结果。
〖解答〗
syms t
y=abs(sin(t))
d=diff(y) %求dy/dt
〖解答〗
(1)符号积分
syms x clear
syms x
y=exp(-abs(x))*abs(sin(x))
si=vpa(int(y,-10*pi,1.7*pi),64)
y =
abs(sin(x))/exp(abs(x))
si =
1.087849499412904913166671875948174520895458535212845987519414166
tao=sym('tao','positive');
f=A*((1+t/tao)*(heaviside(t+tao)-heaviside(t))+(1-t/tao)*(heaviside(t)-heaviside(t-tao)));
r =
1006/105
111
〖目的〗
在符号计算中,经常遇到计算结果是特殊经典函数的情况。
如何应用subs获得超过16位有效数字的符号数值结果。
初步尝试ezplot指令的简便。
〖解答〗
(1)符号计算
symstx;
f=sin(t)/t;
y=int(f,t,0,x)%将得到一个特殊经典函数
y5=subs(y,x,sym('4.5'))
double
Cs2 =
sym
Cs3 =
sym
Cs4 =
sym
12
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)
d =
1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)
16
〖目的〗
symsum, subs的应用。
从实例中,感受指令所给出的关于 符号解的含义。
〖解答〗
symsx k
f=x^(k);
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