收藏 分销(赏)

MATLAB教程R2012a课后习题答案解读.doc

上传人:人****来 文档编号:4770222 上传时间:2024-10-12 格式:DOC 页数:57 大小:3.21MB
下载 相关 举报
MATLAB教程R2012a课后习题答案解读.doc_第1页
第1页 / 共57页
MATLAB教程R2012a课后习题答案解读.doc_第2页
第2页 / 共57页
点击查看更多>>
资源描述
l MATLAB R2012a l 课后习题答案全解 l 第一章 基础准备及入门 习题1及解答 n 1.数字1.5e2,1.5e3 中的哪个与1500相同吗? 〖解答〗 1.5e3 n 2.请指出如下5个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a变量 ABCDefgh 〖解答〗 2、5是合法的。 n 3.在MATLAB环境中,比1大的最小数是多少? 〖解答〗 1+eps n 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); for k=1:m %m决定循环次数 sa(k)=(aa+2*pi*(k-1))*n/m; %计算各根的相角 end result=(ma^(2/3)).*exp(j*sa) %计算各根 result = -2.0000 + 3.4641i 4.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 n 5.指令clear, clf, clc各有什么用处? 〖解答〗 clear 清除工作空间中所有的变量。 clf 清除当前图形。 clc 清除命令窗口中所有显示。 n 6.以下两种说法对吗?(1)“MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。” (2)MATLAB指令窗中显示的数值有效位数不超过7位。” 〖解答〗 (1)否;(2)否。 n 7.想要在MATLAB中产生二维数组,下面哪些指令能实现目的? (1) S=[1,2,3;4,5,6;7,8;9] (2) S=[1 2 3;4 5 6;7 8 9] (3) S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 〖解答〗 前两种输入方法可以,后一种方法不行。 n 8.试为例1.3-5编写一个解题用的M脚本文件? 〖解答〗 直接点击新文件图标,出现M文件编辑器窗口;在该M文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m,便得到所需的脚本文件。 第2章 符号运算 习题2及解答 n /1说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 l 不能从显示形式判断数据类型,而必须依靠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 n /2在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 l 理解自由符号变量的确认规则。 〖解答〗 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 n /3求以下两个方程的解 (1)试写出求三阶方程正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程在时的根。 〖目的〗 l 体验变量限定假设的影响 〖解答〗 (1)求三阶方程正实根 reset(symengine) %确保下面操作不受前面指令运作的影响 syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (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 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 n /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 n /5求符号矩阵的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 l 理解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 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) n /6求的符号解,并进而用该符号解求,,的准确值。 〖目的〗 l symsum, subs的应用。 l 从实例中,感受指令所给出的关于符号解的含义。 〖解答〗 syms x k 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] n /7对于,求。(提示:理论结果为) 〖目的〗 l 符号变量的限定性定义的作用。 〖解答〗 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)]) 〖注意〗 l 解答中,条件abs(x - 1) < x + 1意味着: n 约束一:x-1<x+1 2>0 此式总成立,说明“无约束”。 n 情况二:-(x-1)<x+1 x>0 此为“约束”,满足题意。 n /8(1)通过符号计算求的导数。(2)然后根据此结果,求和。 〖目的〗 l diff, limit指令的应用。 l 如何理解运行结果。 〖解答〗 syms t 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 n /9求出的具有64位有效数字的积分值。 〖目的〗 l 符号积分的解析解和符号数值解。 l 符号计算和数值计算的相互校验。 〖解答〗 (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 (2)数值计算复验 xx=-10*pi:pi/100:1.7*pi; sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100 sn = 1.0877 n /10计算二重积分。 〖目的〗 l 变上限二重积分的符号计算法。 〖解答〗 syms x y f=x^2+y^2; r=int(int(f,y,1,x^2),x,1,2) r = 1006/105 n /11在区间,画出曲线,并计算。 〖目的〗 l 在符号计算中,经常遇到计算结果是特殊经典函数的情况。 l 如何应用subs获得超过16位有效数字的符号数值结果。 l 初步尝试ezplot指令的简便。 〖解答〗 (1)符号计算 syms t x; 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 n /12在的限制下,求的一般积分表达式,并计算的32位有效数字表达。 〖目的〗 l 一般符号解与高精度符号数值解。 〖解答〗 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 y3d = 1.2935547796148951782413405453553 n 13.有序列,,(在此,),求这两个序列的卷积。 〖目的〗 l 符号离散卷积直接法和变换法。 〖解答〗 (1)直接法 syms a b k n 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)变换法(复验) syms z 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)]) 〖说明〗 l 符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。此时,必须通过手工解决。 n 14.设系统的冲激响应为,求该系统在输入,作用下的输出。 〖目的〗 l 符号连续函数卷积的直接法和变换法。 l 符号变量限定性定义的作用。 l 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); 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); huL=simple(ilaplace(HU,s,t)) %拉氏变换及反变换 huL = (3*cos(t))/10 - 3/(10*exp(3*t)) + sin(t)/10 n 15.求的Fourier变换。 〖目的〗 l 符号变量限定性定义的作用。 l fourier指令的应用。 〖解答〗 syms A t w 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) n 16.求的Fourier变换,并画出时的幅频谱。 〖目的〗 l 单位阶跃符号函数heaviside的应用。 l subs实现多变量置换。 l ezplot的使用。 〖解答〗 syms t A w; 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) n 17.求的Laplace反变换。 〖解答〗 syms s t 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)) n 18.利用符号运算证明Laplace变换的时域求导性质:。 〖目的〗 l 符号计算用于定理证明。 〖解答〗 syms t s; y=sym('f(t)'); df=diff(y,t); Ldy=laplace(df,t,s) Ldy = s*laplace(f(t), t, s) - f(0) n 19.求的Z变换表达式。 〖目的〗 l 注意:变换中,被变换变量的约定。 〖解答〗 syms lambda k T z; 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 n 20.求方程的解。 〖目的〗 l 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) n 21.求图p2-1所示信号流图的系统传递函数,并对照胡寿松主编“自动控制原理”中的例2-21结果,进行局部性验证。 图p2-1 〖目的〗 l 理解和掌握信号流图传递函数的“代数状态方程解法”。 l 并设法用胡寿松主编的“自动控制原理”的例2-21进行局部性验证。 〖解答〗 (1)求传递函数 syms G1 G2 G3 G4 G5 G6 G7 H1 H2 H3 H4 H5 A=[ 0 0 0 0 -H3 -H4; G1 0 -H1 0 0 0; 0 G2 0 0 -H2 G6; 0 0 G3 0 0 G7; 0 0 0 G4 0 0; 0 G5 0 0 0 -H5]; b=[ 1; 0; 0; 0; 0; 0]; c=[ 0 0 0 0 1 0]; Y2U=c*((eye(size(A))-A)\b); %求传递函数 [NN,DD]=numden(Y2U); %分离出分子、分母多项式 DD=sort(DD); %分母多项式排序 disp([blanks(5),'传递函数 Y2U 为']) pretty(NN/DD) 传递函数 Y2U 为 (G1 G4 (G2 G3 + G5 G7 + G3 G5 G6 + G2 G3 H5)) / (H5 + G2 H1 + G3 G4 H2 + G1 G5 H4 + G5 G6 H1 + G2 H1 H5 + G3 G4 H2 H5 + G1 G2 G3 G4 H3 + G1 G4 G5 G7 H3 - G4 G5 G7 H1 H2 + G1 G3 G4 G5 G6 H3 + G1 G2 G3 G4 H3 H5 + G1 G3 G4 G5 H2 H4 + 1) (2)局部性验证 syms a b c d e f g 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 (e f + b c f + d e f) --------------------------- d + e g + b c g + d e g + 1 此结果与胡寿松主编的“自动控制原理”例2-21一致。 n 22.采用代数状态方程法求图p2-2所示结构框图的传递函数和。 图p2-2 〖目的〗 l 运用“代数状态方程解法”求输入和扰动同时存在的结构框图的传递函数。 〖解答〗 (1)理论演绎 对于结构框图写出状态方程 (p2-1) 此式第一个方程关于x的解可写为 (p2-2) 把此式代入式(p2-1)的第二个方程,加以整理后可得 据此可写出传递函数 (p2-3) (p2-4) (2)列出“元素级”状态方程 值得提醒:在编写M码之前,最好先在草稿纸上,仔细“元素级”状态方程是避免出错的冲要措施。对此,不要掉以轻心。 本例的“元素级”状态方程如下 (p2-5) (3)编写相应的M码 syms G1 G2 G3 H1 H2 A=[ 0 0 0 -G1 -G1; G2 0 -G2 0 0; 0 0 0 0 0; 0 H1 0 0 0; 0 H2 0 0 0]; b=[ G1; 0; 0; 0; 0]; f=[ 0; 0; G3; 0; -H2]; c=[ 0 1 0 0 0]; d=0; g=-1; R=c/(eye(size(A))-A); %中间变量 Y2U=R*b+d; %计算传递函数 Y/U Y2W=R*f+g; %计算传递函数 Y/W [NU,DU]=numden(Y2U); %分离出分子、分母多项式 DU=sort(DU); %分母多项式排序 disp([blanks(5),'传递函数 Y2U 为']) pretty(NU/DU) [NW,DW]=numden(Y2W); NW=sort(NW); DW=sort(DW); disp([blanks(5),'传递函数 Y2W 为']) pretty(NW/DW) 传递函数 Y2U 为 G1 G2 ----------------------- G1 G2 H1 + G1 G2 H2 + 1 传递函数 Y2W 为 G2 G3 + G1 G2 H1 + 1 - ----------------------- G1 G2 H1 + G1 G2 H2 + 1 n 23.求微分方程的通解,并绘制任意常数为1时解的图形。 〖目的〗 l 理解指令dsolve的正确使用。 l 对dsolve输出结果的正确理解。 l ezplot指令绘图时,如何进行线色控制。 l 如何覆盖那些不能反映图形窗内容的图名。 〖解答〗 (1)求通解 reset(symengine) clear syms y x 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)于是可考虑函数的平方关系 syms Y fxy=Y^2-yy(1)^2 fxy = Y^2 + (5*x^2)/4 - 2 (5)根据平方关系式画完整曲线 clf ezplot(fxy,[-2,2,-2,2]) axis square grid on (6)假如直接用“分解”画曲线,那么将是不完整的 ezplot(yy(1)),hold on cc=get(gca,'Children'); set(cc,'Color','r') ezplot(yy(2)),axis([-2 2 -2 2]) legend('y(1)','y(2)'),hold off; title(' ') %覆盖不完全的图名 grid axis square n 24.求一阶微分方程的解。 〖目的〗 l 初值微分方程的符号解。 l pretty指令的使用。 〖解答〗 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 (3 b + 2 a t) ---------------- + 2 6 n 25.求边值问题的解。(注意:相应的数值解法比较复杂)。 〖目的〗 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) 第3章 数值数组及其运算 习题3及解答 n 5.要求在闭区间上产生具有10个等距采样点的一维数组。试用两种不同的指令实现。 〖目的〗 l 数值计算中产生自变量采样点的两个常用指令的异同。 〖解答〗 %方法一 t1=linspace(0,2*pi,10) %方法二 t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9. t1 = Columns 1 through 7 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 10 4.8869 5.5851 6.2832 t2 = Columns 1 through 7 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 10 4.8869 5.5851 6.2832 n 6.由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。 〖目的〗 l 数组下标的不同描述:全下标和单下标。 l sub2ind, int2str, disp的使用。 l 随机发生器的状态控制:保证随机数的可复现性。 〖解答〗 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.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003 大于0.5的元素的全下标 行号 1 2 1 2 2 3 1 3 1 3 列号 1 1 2 2 3 3 4 4 5 5 大于0.5的元素的单下标 1 2 4 5 8 9 10 12 13 15 n 7.采用默认全局随机流,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。 〖目的〗 l 两种基本随机发生器的使用。 l 关系运算产生逻辑数组——可用于数组的元素的标识和寻访。 l 逻辑数组的应用。 l 如何判断两个整数数组是否相等。 〖解答〗 (1)运用均匀随机数解题法——解法1 rng default %为以下结果重现而设;产生默认随机流。详见第4.3.2节 A=rand(1,1000); a=2*(A>0.5)-1; Na=sum(a==-1) Na = 512 (2)运用正态随机数解题法——解法2 randn('state',123) B=randn(1,1000); b=2*(B>0)-1; Nb=sum(b==-1) Nb = 462 (3)直接发生法——解法3 c=randsrc(1,1000,[-1,1]); Nc=sum(c==-1) Nc = 482 n 2.已知矩阵,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。(1)请分别写出根据B1, B2恢复原矩阵A的程序。(2)用指令检验所得的两个恢复矩阵是否相等。 〖目的〗 l 数组运算和矩阵运算的不同。 l 如何判断两个双精度数组是否相等。 l norm指令的应用。 〖解答〗 A=[1,2;3,4]; B1=A
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服