北航-MATLAB教程答案(张志涌).doc
- 文档编号:30869854
- 上传时间:2024-09-12
- 格式:DOC
- 页数:19
- 大小:301KB
北航-MATLAB教程答案(张志涌).doc
《北航-MATLAB教程答案(张志涌).doc》由会员分享,可在线阅读,更多相关《北航-MATLAB教程答案(张志涌).doc(19页珍藏版)》请在冰豆网上搜索。
1数字1.5e2,1.5e3中的哪个与1500相同吗?
1.5e3
2请指出如下5个变量名中,哪些是合法的?
abcd-2 xyz_3 3chan a变量 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
w1=-2.0000+3.4641i;w2=4.0000;w3=-2.0000+3.4641i
5指令clear,clf,clc各有什么用处?
clear 清除工作空间中所有的变量。
clf 清除当前图形。
clc 清除命令窗口中所有显示。
第二章
1说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?
3/7+0.1双;sym(3/7+0.1)符;sym('3/7+0.1')符;;vpa(sym(3/7+0.1))符;
2在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.
sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')
symvar(sym('sin(w*t)'),1)waz
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))等来观察。
l理解准确符号数值的创建法。
l高精度误差的观察。
(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=
1.047197551196597631317786181171
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求符号矩阵的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
l理解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求的符号解,并进而用该符号解求,,的准确值。
lsymsum,subs的应用。
l从实例中,感受指令所给出的关于符号解的含义。
symsxk
f=x^(k);
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]
7对于,求。
(提示:
理论结果为)
l符号变量的限定性定义的作用。
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) 〖注意〗 l解答中,条件abs(x-1) n约束一: x-1 n情况二: -(x-1) 8 (1)通过符号计算求的导数。 (2)然后根据此结果,求和。 ldiff,limit指令的应用。 l如何理解运行结果。 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位有效数字的积分值。 l符号积分的解析解和符号数值解。 l符号计算和数值计算的相互校验。 (1)符号积分 symsxclear symsx 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 (2)数值计算复验 xx=-10*pi: pi/100: 1.7*pi; sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100 sn= 1.0877 10计算二重积分。 l变上限二重积分的符号计算法。 symsxy f=x^2+y^2; r=int(int(f,y,1,x^2),x,1,2) r= 1006/105 11在区间,画出曲线,并计算。 l在符号计算中,经常遇到计算结果是特殊经典函数的情况。 l如何应用subs获得超过16位有效数字的符号数值结果。 l初步尝试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位有效数字表达。 l一般符号解与高精度符号数值解。 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求方程的解。 lsolve指令中,被解方程的正确书写,输出量的正确次序。 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) 14求微分方程的通解,并绘制任意常数为1时解的图形。 l理解指令dsolve的正确使用。 l对dsolve输出结果的正确理解。 lezplot指令绘图时,如何进行线色控制。 l如何覆盖那些不能反映图形窗内容的图名。 (1)求通解 reset(symengine) clear symsyx y=dsolve('0.2*y*Dy+0.25*x=0','x') y= 2^(1/2)*(C3-(5*x^2)/8)^(1/2) -2^(1/2)*(C3-(5*x^2)/8)^(1/2) (2)根据所得通解中不定常数的符号写出“对其进行数值替代的指令” yy=subs(y,'C3',1) %将通解中的C3用1代替 yy= 2^(1/2)*(1-(5*x^2)/8)^(1/2) -2^(1/2)*(1-(5*x^2)/8)^(1/2) (3)观察通解中两个分解的平方是否相同 yy (1)^2==yy (2)^2 ans= 1 (4)于是可考虑函数的平方关系 symsY fxy=Y^2-yy (1)^2 fxy= Y^2+(5*x^2)/4-2 (5)根据平方关系式画完整曲线 clf ezplot(fxy,[-2,2,-2,2]) axissquare gridon (6)假如直接用“分解”画曲线,那么将是不完整的 ezplot(yy (1)),holdon cc=get(gca,'Children'); set(cc,'Color','r') ezplot(yy (2)),axis([-22-22]) legend('y (1)','y (2)'),holdoff; title('') %覆盖不完全的图名 grid axissquare 15求一阶微分方程的解。 l初值微分方程的符号解。 lpretty指令的使用。 x=dsolve('Dx=a*t^2+b*t','x(0)=2','t') pretty(x) %比较易读的表达形式 x= (t^2*(3*b+2*a*t))/6+2 2 t(3b+2at) ----------------+2 6 16求边值问题的解。 (注意: 相应的数值解法比较复杂)。 l边值微分方程的符号解。 [f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0,g(0)=1') f= sin(4*t)*exp(3*t) g= cos(4*t)*exp(3*t) (1)数值数组及其运算 习题3及解答 6要求在闭区间上产生具有10个等距采样点的一维数组。 试用两种不同的指令实现。 第1章数值计算中产生自变量采样点的两个常用指令的异同。 %方法一 t1=linspace(0,2*pi,10) %方法二 t2=0: 2*pi/9: 2*pi %要注意采样间距的选择,如这里的2*pi/9. t1= Columns1through7 00.69811.39632.09442.79253.49074.1888 Columns8through10 4.88695.58516.2832 t2= Columns1through7 00.69811.39632.09442.79253.49074.1888 Columns8through10 4.88695.58516.2832 1由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。 第1章数组下标的不同描述: 全下标和单下标。 第1章sub2ind,int2str,disp的使用。 第1章随机发生器的状态控制: 保证随机数的可复现性。 rng('default') A=rand(3,5) [ri,cj]=find(A>0.5); id=sub2ind(size(A),ri,cj); ri=ri';cj=cj'; disp('') disp('大于0.5的元素的全下标') disp(['行号',int2str(ri)]) disp(['列号',int2str(cj)]) disp('') disp('大于0.5的元素的单下标') disp(id') A= 0.81470.91340.27850.96490.9572 0.90580.63240.54690.15760.4854 0.12700.09750.95750.97060.8003 大于0.5的元素的全下标 行号1212231313 列号1122334455 大于0.5的元素的单下标 12458910121315 1已知矩阵,运行指令B1=A.^(0.5),B2=A^(0.5),可以观察到不同运算方法所得结果不同。 (1)请分别写出根据B1,B2恢复原矩阵A的程序。 (2)用指令检验所得的两个恢复矩阵是否相等。 第1章数组运算和矩阵运算的不同。 第1章如何判断两个双精度数组是否相等。 第1章norm指令的应用。 A=[1,2;3,4]; B1=A.^0.5 B2=A^0.5 A1=B1.*B1; A2=B2*B2; norm(A1-A2,'fro') %求误差矩阵的F-范数,当接近eps量级时,就认为实际相等 B1= 1.00001.4142 1.73212.0000 B2= 0.5537+0.4644i0.8070-0.2124i 1.2104-0.3186i1.7641+0.1458i ans= 8.4961e-016 1在时间区间[0,10]中,绘制曲线。 要求分别采取“标量循环运算法”和“数组运算法”编写两段程序绘图。 第1章加强理解数组运算的机理和应用。 第1章初步使用subplot,plot,xlabel,ylabel等指令绘图。 %标量循环运算法 t=linspace(0,10,200); N=length(t); y1=zeros(size(t)); fork=1: N y1(k)=1-exp(-0.5*t(k))*cos(2*t(k)); end subplot(1,2,1),plot(t,y1),xlabel('t'),ylabel('y1'),gridon %数组运算法 y2=1-exp(-0.5*t).*cos(2*t); subplot(1,2,2),plot(t,y2),xlabel('t'),ylabel('y2'),gridon 1先运行clear,formatlong,rng('default'),A=rand(3,3),然后根据A写出两个矩阵: 一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。 第1章常用指令diag的使用场合。 clear, formatlong rng('default') A=rand(3,3) B=diag(diag(A)) C=A-B A= 0.8147236863931790.9133758561390190.278498218867048 0.9057919370756190.6323592462254100.546881519204984 0.1269868162935060.0975404049994100.957506835434298 B= 0.81472368639317900 00.6323592462254100 000.957506835434298 C= 00.9133758561390190.278498218867048 0.90579193707561900.546881519204984 0.1269868162935060.0975404049994100 1先运行指令x=-3*pi: pi/15: 3*pi;y=x;[X,Y]=meshgrid(x,y);warningoff;Z=sin(X).*sin(Y)./X./Y;产生矩阵Z。 (1)请问矩阵Z中有多少个“非数”数据? (2)用指令surf(X,Y,Z);shadinginterp观察所绘的图形。 (3)请写出绘制相应的“无裂缝”图形的全部指令。 第1章初步感受三维曲面的绘制方法。 第1章非数N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北航 MATLAB 教程 答案 张志涌