MATLAB教程a习题解答17章完整版张志涌北航Word文档下载推荐.docx
- 文档编号:22956606
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:118
- 大小:1.11MB
MATLAB教程a习题解答17章完整版张志涌北航Word文档下载推荐.docx
《MATLAB教程a习题解答17章完整版张志涌北航Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB教程a习题解答17章完整版张志涌北航Word文档下载推荐.docx(118页珍藏版)》请在冰豆网上搜索。
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.试为例编写一个解题用的M脚本文件?
直接点击新文件图标,出现M文件编辑器窗口;
在该M文件编辑器中,输入例中的全部指令;
并另存为,便得到所需的脚本文件。
第2章符号运算
习题2及解答
⏹/1说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象
3/7+;
sym(3/7+;
sym('
3/7+'
);
vpa(sym(3/7+)
〖目的〗
●不能从显示形式判断数据类型,而必须依靠class指令。
c1=3/7+
c2=sym(3/7+
c3=sym('
)
c4=vpa(sym(3/7+)
Cs1=class(c1)
Cs2=class(c2)
Cs3=class(c3)
Cs4=class(c4)
c1=
c2=
37/70
c3=
c4=
Cs1=
double
Cs2=
sym
Cs3=
Cs4=
sym
⏹/2在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.
sin(w*t)'
),sym('
a*exp(-X)'
z*exp(j*th)'
●理解自由符号变量的确认规则。
symvar(sym('
),1)
ans=
w
a
z
⏹/3求以下两个方程的解
(1)试写出求三阶方程
正实根的程序。
注意:
只要正实根,不要出现其他根。
(2)试求二阶方程
在
时的根。
●体验变量限定假设的影响
(1)求三阶方程
正实根
reset(symengine)%确保下面操作不受前面指令运作的影响
symsxpositive
solve(x^
(2^(2/3)*89^(1/3))/2
(2)求五阶方程
的实根
symsapositive%注意:
关于x的假设没有去除
solve(x^2-a*x+a^2)
Warning:
Explicitsolutioncouldnotbefound.
>
Insolveat83
[emptysym]
symsxclear
symsapositive
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=
b=
7/3
c=
d=
7/3
v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d))
v1=
v2=
v3=
(2)x=pi/3
x=pi/3;
pi/3'
),
pi/3
pi/3
(3)x=pi*3^(1/3)
x=pi*3^(1/3);
pi*3^(1/3)'
)
433/28
pi*3^(1/3)
⏹/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)]
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'
1/pi'
3'
)})
[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)<
x+1,log(x)])%abs绝对值
〖注意〗
●解答中,条件abs(x-1)<
x+1意味着:
⏹约束一:
x-1<
x+1
2>
0
此式总成立,说明“无约束”。
⏹情况二:
-(x-1)<
x+1
x>
此为“约束”,满足题意。
⏹/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))
sign(sin(t))*cos(t)
d0_=
-1
dpi_2=
⏹/9求出
的具有64位有效数字的积分值。
●符号积分的解析解和符号数值解。
●符号计算和数值计算的相互校验。
(1)符号积分
symsx
y=exp(-abs(x))*abs(sin(x))
si=vpa(int(y,-10*pi,*pi),64)%vpa指定精确位数
abs(sin(x))/exp(abs(x))
si=
(2)数值计算复验
xx=-10*pi:
pi/100:
*pi;
sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100%trapz梯形法求积分
sn=
⏹/10计算二重积分
●变上限二重积分的符号计算法。
symsxy
f=x^2+y^2;
r=int(int(f,y,1,x^2),x,1,2)
1006/105
⏹/11在
区间,画出
曲线,并计算
●在符号计算中,经常遇到计算结果是特殊经典函数的情况。
●如何应用subs获得超过16位有效数字的符号数值结果。
●初步尝试ezplot指令的简便。
(1)符号计算
symstx;
f=sin(t)/t;
y=int(f,t,0,x)%将得到一个特殊经典函数
y5=subs(y,x,sym('
'
))
ezplot(y,[0,2*pi])
sinint(x)
y5=
tt=0:
:
;
tt
(1)=eps;
yn=trapz(sin(tt)./tt)*
yn=
⏹/12在
的限制下,求
的一般积分表达式,并计算
的32位有效数字表达。
●一般符号解与高精度符号数值解。
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))
beta(1/2,n/2+1/2)/2
y3s=
y3d=
⏹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=
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指令的应用。
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
symss;
HU=laplace(h,t,s)*laplace(u,t,s);
huL=simple(ilaplace(HU,s,t))%拉氏变换及反变换
huL=
⏹15.求
的Fourier变换。
●fourier指令的应用。
symsAtw
a=sym('
a'
f=A*exp(-a*abs(t));
y=fourier(f,t,w)
F=simple(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'
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,'
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
(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];
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);
局部性验证用的传递函数y2u'
pretty(nn/dd)
局部性验证用的传递函数y2u
a(ef+bcf+def)
---------------------------
d+eg+bcg+deg+1
此结果与胡寿松主编的“自动控制原理”例2-21一致。
⏹22.采用代数状态方程法求图p2-2所示结构框图的传递函数
图p2-2
●运用“代数状态方程解法”求输入和扰动同时存在的结构框图的传递函数。
(1)理论演绎
对于结构框图写出状态方程
(p2-1)
此式第一个方程关于x的解可写为
(p2-2)
把此式代入式(p2-1)的第二个方程,加以整理后可得
据此可写出传递函数
(p2-3)
(p2-4)
(2)列出“元素级”状态方程
值得提醒:
在编写M码之前,最好先在草稿纸上,仔细“元素级”状态方程是避免出错的冲要措施。
对此,不要掉以轻心。
本例的“元素级”状态方程如下
(p2-5)
(3)编写相应的M码
symsG1G2G3H1H2
A=[000-G1-G1;
G20-G200;
00000;
0H1000;
0H2000];
b=[G1;
f=[0;
G3;
-H2];
c=[01000];
d=0;
g=-1;
R=c/(eye(size(A))-A);
%中间变量
Y2U=R*b+d;
%计算传递函数Y/U
Y2W=R*f+g;
%计算传递函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 教程 习题 解答 17 完整版 张志涌 北航