matlab教程2011a(张志涌)-课后答案

合集下载

北航Matlab教程(R2011a)习题2解答 2

北航Matlab教程(R2011a)习题2解答 2

习题21. 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”对象?3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1)) a=class(3/7+0.1)%双精度 b=class(sym(3/7+0.1))%符号c=class(vpa(sym(3/7+0.1),4))%符号 d=class(vpa(sym(3/7+0.1)))%符号2. 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。

sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*th)') a=sym('sin(w*t)'); symvar(a)b=sym('a*exp(-X)'); symvar(b)c=sym('z*exp(j*th)'); symvar(c)3. 求以下两个方程的解: (提示:关于符号变量的假设要注意)(1)试写出求三阶方程05.443=-x 正实根的程序。

注意:只要正实根,不要出现其他根。

x=sym('x','positive'); f=x^3-44.5; x=solve(f,x)(2)试求二阶方程022=+-a ax x 在0>a 时的根。

a=sym('a','positive'); syms x;f=x^2-a*x+a^a; x=solve(f,x)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))等来观察。

MATLAB-实用教程-课后习题标准答案

MATLAB-实用教程-课后习题标准答案

第二章1.计算复数3+4i与5-6i的乘积。

a=3+4ib=5-6ic=a*b2•构建结构体Students» 属性包含Name, age 和Email,数据包括{"Zhang", 18,"]}、「Wang,, 21, []}和{'『,[]』},构建后读取所有Name属性值,并且修改'Zhang,的Age 属性值为19.Students(l).Age=18Students(l).Email-1/'Students(2).Name=,Wang,Students(2).Age=21Students(2).Email=[]Students(3).Name=,Li,Students(3).Age=[]Students(3).Email=[]Student(l).Age(l)=19Stude nt.Age3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵:A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0]A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0]S=sparse(A)S=sparse([2,l,4]/[1,2/4L[1,1,1]A5)4.采用向量构造符得到向量[1,5,941],A=l:4:415.按水平和竖直方向分别合并下述两个矩阵:A=[l 0 0;11 0;0 0 1LB=[2 3 4;5 6 7;8 9 10] A=[10 0;110;0 0 1]B=[2 3 4;5 6 7;8 9 10]C=[A B]D=[A;B]6.分别删除第五题两个结果的第2行。

A=[10 0;110;0 0 1]B=[2 3 4;5 6 7;8 9 10]C=[A B]D=[A;B]C(2,:)=[]D(2/:)=[]7•分别将第5题两个结果的第2行最后3列的数值改为12 13]oA=[10 0;110;0 0 1]D=[A;B]C(2/4:6)=[ll 12 13]D(2/:)=[ll 12 13]8.分別查看第5题两个结果的各方向长度A=[10 0;110;0 0 1]B=[2 3 4;5 6 7;8 9 10]C=[A B]D=[A;B]a=size(C)b=size(D)9.分別判断pi是否为字符串和浮点数。

Get清风MATLAB教程a第5章习题解答张志涌

Get清风MATLAB教程a第5章习题解答张志涌

MATLAB教程2012a第5章习题解答-张志涌第5章 数据和函数的可视化习题5及解答1 椭圆的长、短轴2,4==b a ,用“小红点线〞画椭圆⎩⎨⎧==tb y ta x sin cos 。

〔参见图p5-1〕〖解答〗 clf a=4;b=2;t=0:pi/80:2*pi; x=a*cos(t); y=b*sin(t);plot(x,y,'r.','MarkerSize',15) axis equal xlabel('x') ylabel('y')shg-4-3-2-101234-3-2-1123xy2 根据表达式θρcos 1-=绘制如图p5-2的心脏线。

〔提示:采用极坐标绘线指令polar 〕〖解答〗 clftheta=0:pi/50:2*pi;rho=1-cos(theta);h=polar(theta,rho,'-r');%极坐标绘线指令。

h 是所画线的图柄。

set(h,'LineWidth',4) %利用set 设置h 图形对象的“线宽〞axis square %保证坐标的圆整性0.51 1.523021060240902701203001503301800ρ=1-cos θ3 A,B,C 三个城市上半年每个月的国民生产总值如见表p5.1。

试画出如图p5-3所示的三城市上半年每月生产总值的累计直方图。

表p5.1 各城市生产总值数据〔单位:亿元〕城市 1月 2月 3月 4月 5月 6月 A 170 120 180 200 190 220 B 120 100 110 180 170 180 C 70508010095120〖目的〗● 借助MATLAB 的帮助系统,学习直方图指令polar 的使用。

● bar 指令常用格式之一:bar(x,Y,'style') 。

x 是自变量列向量;Y 是与x 行数相同的矩阵,Y 的每一行被作为“一组〞数据;style 取stacked 时,同一组数据中每个元素对应的直方条被相互层叠。

北航Matlab教程(R2011a)习题4解答

北航Matlab教程(R2011a)习题4解答

习题41. 根据题给的模拟实际测量数据的一组t 和 )(t y 试用数值差分diff 或数值梯度gradient 指令计算)(t y ',然后把)(t y 和)(t y '曲线绘制在同一张图上,观察数值求导的后果。

(模拟数据从prob_data401.mat 获得)(提示:自变量t 采样间距太小。

)load prob_401;N=20;diff_y1=(diff(y(1:N:end)))./diff(t(1:N:end));gradient_y1=(gradient(y(1:N:end)))./gradient(t(1:N:end));t1=t(1:N:end);length(t1)plot(t,y,t1(1:end-1),diff_y1)plot(t,y,t1,gradient_y1)2. 采用数值计算方法,画出dt tt x y x⎰=0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。

(提示:cumtrapz 快捷,在精度要求不高处可用;quad 也可试。

巧用find 。

) d=0.5;tt=0:d:10;t=tt+(tt==0)*eps;y=sin(t)./t;s=d*trapz(y)ss=d*(cumtrapz(y))plot(t,y,t,ss,'r'),hold ony4_5=ss(find(t==4.5))yi=interp1(t,ss,4.5),plot(4.5,yi,'r+')3. 求函数x e x f 3sin )(=的数值积分⎰=π0 )(dx x f s ,并请采用符号计算尝试复算。

(提示:各种数值法均可试。

)d=pi/20;x=0:d:pi;fx=exp(sin(x).^3);s=d*trapz(fx)s1=quad('exp(sin(x).^3)',0,pi)s2=quadl('exp(sin(x).^3)',0,pi)s3=vpa(int('exp(sin(x)^3)',0,pi))s4=vpa(int(sym('exp(sin(x)^3)'),0,pi))4. 用quad 求取dx x e x sin 7.15⎰--ππ的数值积分,并保证积分的绝对精度为910-。

matlab课后习题答案(附图)

matlab课后习题答案(附图)

matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。

MATLAB教程a习题解答1-7章完整版-张志涌-北航之欧阳体创编

MATLAB教程a习题解答1-7章完整版-张志涌-北航之欧阳体创编

●MATLAB R2012a●●课后习题答案全解●第一章基础准备及入门习题1及解答⏹ 1.数字1.5e2,1.5e3 中的哪个与1500相同吗?〖解答〗1.5e3⏹ 2.请指出如下5个变量名中,哪些是合法的?abcd-2xyz_33chana变量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〖解答〗(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;%计算各根的相角 endresult=(ma^(2/3)).*exp(j*sa)%计算各根 result =-2.0000 + 3.4641i 4.0000 - 0.0000i -2.0000 - 3.4641i(B )利用多项式023=-a r 求根 p=[1,0,0,-a^2]; r=roots(p) r =-2.0000 + 3.4641i -2.0000 - 3.4641i 4.0000⏹ 5.指令clear, clf, clc 各有什么用处?〖解答〗clear 清除工作空间中所有的变量。

clf 清除当前图形。

clc 清除命令窗口中所有显示。

⏹ 6.以下两种说法对吗?(1)“MATLAB 进行数值的表达精度与其指令窗中的数据显示精度相同。

MATLAB习题答案_张志涌2008

MATLAB习题答案_张志涌2008

MATLAB教程(张志涌杨祖樱编2006.8第一版)习题答案第一章5,6,7第二章2,3,6,7,8,9,10,11,22,24第三章2,5,6第四章2,5,11,13,17,18第五章1,2,5,6,7第六章1,2,3第七章1,2第一章5,6,7%p41_5直接计算时得到处于第一象限的方根a=-8; a^(2/3) %-2.0000 + 3.4641i(a^2)^(1/3) %等价于64^(1/3) 得4.0000(a^(1/3))^2 %等价于a^(1/3)也就是1.0000 + 1.7321i的平方得-2.0000 + 3.4641i第二章2,3,6,7,8,9,10,11,22,24%p92_3A1=sym('sin(w*t)'); findsym(A1)A2=sym('a*exp(-X)'); findsym(A2)A3=sym('x*exp(j*theta)'); findsym(A3)%p92_6clear, syms x k, x=abs(x);%或syms x positive;f1=sym(2./(2*k+1).*((x-1)./(x+1)).^(2*k+1))s1=symsum(f1,'k',0,inf), simple(s1), simple(ans)%p92_7clear t, syms tdf=diff('abs(sin(t))'),class(df)df1=limit(df,t,0,'left')df2=subs(df,'t',sym(pi/2))%p92_8clear, syms x;f=exp(-abs(x)).*abs(sin(x));fint=int(f,x,-5*pi,1.7*pi), digits(64), vpa(fint)%p92_9clear,syms x y,f=x.^2+y.^2, fint=(int(int(f,y,1,x.^2),x,1,2)), double(fint)%p92_10clear, syms t x; f=sin(t)./t, yx=int(f,t,0,x), ezplot(yx,[0 2*pi]) fint=subs(yx,x,4.5),%或yxd=int(f,t,0,4.5),fint=double(yxd)hold on, plot(4.5,fint,'*r')%p92_11clear, syms x n; f=sin(x).^n; yn=int(f,'x',0,pi/2), class(yn) %y(1/3)=?yn1=subs(yn,'n',sym(1/3)),vpa(yn1)%或yn=limit(yn,n,1/3),vpa(yn)%或yy=int(sin(x).^(1/3),x,0,pi/2) ,vpa(yy)%p93_22clear, syms x y SS = dsolve('Dy*y/5+x/4=0','x')ezplot(subs(S(1),'C1',1),[-2,2 -2,2],1), hold onezplot(subs(S(2),'C1',1),[-2,2 -2,2],1)%p93_24[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0','g(0)=1','x')第三章2,5,6%122_1a=linspace(0,2*pi,10),b=0:2*pi/9:2*pi%122_2rand('twister',0),A=rand(3,5),B=A>0.5,C=find(B)[ci,cj]=ind2sub(size(A),C) %此法太繁[Ci,Cj]=find(B)%122_5t=linspace(1,10,100)(1) y=1-exp(-0.5.*t).*cos(2.*t),plot(t,y)(2) L=length(t)for k=1:L, yy(k)=1-exp(-0.5*t(k))*cos(2*t(k)), end, plot(t,yy)%122_6clear,format long, rand('twister',1),A=rand(3,3),B=diag(diag(A)),C=A.*(~B)%或C=A-B%或C=triu(A,1)+tril(A,-1)第四章2,5,11,13,17,18%p171_2d=0.5; tt=0:d:10; t=tt+(tt==0)*eps; y=sin(t)./t; s=d*trapz(y) % 计算出积分值ss=d*(cumtrapz(y)) %计算梯形法累计积分并绘积分曲线plot(t,y,t,ss,'r'),hold on%插值法计算y(4.5),并绘出该点yi=interp1(t,ss,4.5), plot(4.5,yi,'r+')%矩形算法计算y(4.5)yy=quad('sin(t)./t',0,4.5)%匿名函数求y(4.5)f=@(x)(int('sin(t)/t',0,x)),vpa(f(4.5))%符号解法syms x t y1y2 y1i, y1=sin(t)./t, y1i=int(y1,t,0,x), y2=subs(y1i,x,4.5)hold on ,plot(4.5,y2,'*m')%此法可用,但有警告性提示tt=0:0.1:10;for i=1:101q(i)=quad('sin(t)./t',0,tt(i));endplot(t, q)y=quad('sin(t)./t',0,4.5)%p171_5x1=-5;x2=5;yx=@(t)((sin(5*t)).^2.*exp(0.06*t.^2)-1.5.*t.*cos(2*t)+1.8.*abs(t+0.5))[xn0,fval]=fminbnd(yx,x1,x2)%绘函数图并标出最小值点t=x1:0.1:x2; plot(t,yx(t)),hold on ,plot(xn0,fval,'r*')%p171_11A=magic(4)b=[1;2;3;4]x=A\b%p171_13S=solve('sin(x-y)=0','cos(x+y)=0','x','y')S.x, S.y%p172_17format rat, NX=conv([3,0,1,0],[1,0,0,0.5]), DX=conv([1,2,-2],[5,2,0,1])[q,r]=deconv(NX,DX), cq='商多项式为 ';cr='余多项式为 ';disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])%验算qp2=conv(q,DX), pp1=qp2+r, pp1==NX%或验算norm(conv(D,Q)+r-N,'fro')%p172_18load prob_data418, who,xP=polyfit(x,y,5), Pt=poly2str(P,t)xx=-1:0.01:4, yy=polyval(P,xx), plot(xx,yy,x,y,'*r')legend('拟合曲线','原始曲线','Location','SouthEast')%解法二(拟合的基本思想)x0=x';y0=y';m=length(x);n=5;X=zeros(m,n+1);for k=1:nX(:,n-k+1)=(x0.^k);endX(:,n+1)=ones(m,1);aT=(X\y0)',(P==aT)<eps第五章1,2,5,6,7%p213_1t=2*pi*(0:199)/199; a=4;b=2;x=a*cos(t);y=b*sin(t); plot(x,y,'r.','MarkerSize',15)%p213_2t = 0:.01:2*pi; P=1-cos(t); polar(t,P,’r’), title('P=1-cos\theta')%p215_5t=4*pi*(0:100)/100; x=sin(t);y=cos(t);z=t; plot3(x,y,z,'g','LineWidth',3),box on%p216_6x=-3:0.1:3;y=x;[X,Y]=meshgrid(x,y);Z=4.*X.*exp(-X.^2-Y.^2);mesh(X,Y,Z)colormap(hot),shading interp,hidden off%p216_7x=4*pi*(-50:50)/50;y=x;[X,Y]=meshgrid(x,y);Z=sin(X+Y)./(X+Y);surf(X,Y,Z)view([21,32]) %图形界面旋转图形,认为合适后记下方位角和俯视角,再写出命令shading interp第六章1,2,3%p239_1%for循环S=0.2;SUM=1; ticfor i=0:1000000SUM=SUM+S; S=S*0.2;endt=toc, SUM%while循环S=0.2; SUM=1; i=0; ticwhile i<=1000000SUM=SUM+S; S=S*0.2; i=i+1;endt=toc, SUM%symsyms i; tic, SUM=vpa(symsum(0.2.^i,0,1000000),6), t=toc %向量法(用时最短)N=1000000; S=zeros(1,N);tick=0:N;S=0.2.^k;t=toc, sum(S)%函数法function y=logsum(x,n)y=(1-x.^n)./(1-x);调用:loysum(0.2,1000001)%p239_2function funp239_2(n)%function name: p239_2.m% n The number of sides, while n>=3% draw circle, while no parameter% input "n" again ,while n<3 or not natural numberif nargin~=0 & (n<0 | fix(n)~=n)disp('input parameter error! Please try again.') elseswitch nargincase 0a=100;t=(0:a)/a*2*pi;ss=exp(i*t);plot(real(ss),imag(ss))axis equal, axis offotherwiseif n==1 | n==2,disp('please input n>=3')elset=(0:n)/n*2*pi;ss='exp(i*t)';se=eval(ss);plot(real(se),imag(se))axis equal, axis offendendend%调用funp239_2(59),funp239_2(-2)%p239_2另解function fun(N)if nargin~=0 &(N<3 | fix(N)~=N)disp('input parameter error!')elseif nargin==0t=-pi:pi/100:pi;plot(sin(t),cos(t)), axis equal square elset=-pi:2*pi/(N):pi;plot(sin(t),cos(t)), axis equal square end%p239_2(学生)解function aa(n)if nargin==0t=0:pi/100:2*pi; x=exp(i*t); str='Circle';elseif(nargin~=0)&(n<=2)error('输入边数少了')endif n-round(n)~=0error('输入了非自然数')endt=(0:n)/n*2*pi;x=exp(i*t);str=['Poly gon nit ',int2str(n),' edges']endplot(real(x),imag(x),'r','LineWidth',4)title(str)axis square image offshg%p240_3%p240_3_@(x)(exp),匿名函数表达式法y0=@(x)(-exp(-x)*abs(sin(cos(x)))); fplot(y0,[-5,+4])或ezplot(y0,[-5,4])[x,fval]=fminbnd(y0,-1,1); hold on, plot(x,fval,'*r')%p240_3_function子程序函数句柄法function y=funp240_3(x)y=-exp(-x)*abs(sin(cos(x)));%main programhh=@funp240_3; fplot(hh,[-5,+4]), [x,fval]=fminbnd(hh,-1,1); hold on, plot(x,fval,'*r')%p240_3_inline内联函数法y1=inline('-exp(-x)*abs(sin(cos(x)))'); [x,fval]=fminbnd(y1,-1,1)x0=[-5,4]; fplot(y1,x0), hold on, plot(x,fval,'*r')%p240_3_char字符串法y2='-exp(-x)*abs(sin(cos(x)))'; [x,fval]=fminbnd(y2,-1,1)x0=[-5,4]; ezplot(y2,x0), hold on, plot(x,fval,'*r')第七章%p263_1.m and p263_1.mdlsimulinkxFinal %integer values%p263_2.mdl。

matlab课后习题及答案详解

matlab课后习题及答案详解

matlab课后习题及答案详解第1章练习题1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。

第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。

2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成?在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。

matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。

matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。

3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。

在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。

命令历史窗口除了用作查阅以前键入的命令外,还可以轻易执行命令历史窗口中选取的内容、将选取的内容拷贝到剪贴板中、将选取内容轻易拷贝到m文件中。

MATLAB教程2012a第3章习题解答张志涌(可编辑修改word版)

MATLAB教程2012a第3章习题解答张志涌(可编辑修改word版)
F2=b^A
F2a=b.^A F2 =
0.99095 -0.66337 F2a =
0.5 0.125
%标量底矩阵指数的求幂 %标量底数组指数的求幂
-0.44225 0.32759
0.25 0.0625
(3)
F3a=A.^C
F3a =
1
4
3
2
%数组底数组指数的求幂
F3=A^C
%矩阵底矩阵指数的求幂运算不存在
〖解答〗
A=magic(3), B=[1,2,1;3,4,3;5,6,7]%创建阵列
A=
8
1
6
3
5
7
4
9
2
B=
1
2
1
3
4
3
5
6
7
(1)
C1amb=A*B
C1bma=B*A C1amb =
41 56 53 53 68 67 41 56 45 C1bma = 18 20 22 48 50 52 86 98 86
后根据计算结果回答以下问题:
(提示:根据对计算结果的目测回答问题)
〖目的〗 数组运算和矩阵运算的不同。 如何判断两个双精度数组是否相等。 norm 指令的应用。
〖解答〗
A=[1, 2; 3, 4],b=0.5,C=[4, 2; 1, 0.5]
A=
1
2
3
4
b=
0.5
C=
4
2
1
0.5
%创建数据
(1)
第 3 章 数值阵列及其运算
习题 3 及解答
1 在 MATLAB 中,先运行指令 A=magic(3), B=[1,2,1;3,4,3;5,6,7]

matlab课后答案完整版

matlab课后答案完整版

matlab课后答案完整版ones表⽰1矩阵zeros表⽰0矩阵ones(4)表⽰4x4的1矩阵zeros(4)表⽰4x4的0矩阵zeros(4,5)表⽰4x5的矩阵eye(10,10)表⽰10x10的单位矩阵rand(4,5)表⽰4x5的伴随矩阵det(a)表⽰计算a的⾏列式inv(a)表⽰计算a的逆矩阵Jordan(a)表⽰求a矩阵的约当标准块rank(a)表⽰求矩阵a的秩[v,d]=eig(a)对⾓矩阵b=a’表⽰求a矩阵的转置矩阵sqrt表⽰求平⽅根exp表⽰⾃然指数函数log⾃然对数函数abs绝对值第⼀章⼀、5(1)b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7];>> e=b*ce =5271 11574-11336 6641978 3112(2)a=50:1:100⼆、1 、x=-74;y=-27;z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z =-0.09012、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)y =0.7218 1.0474-0.2180 1.15624、a*b表⽰a矩阵和b矩阵相乘a.*b表⽰a矩阵和b矩阵单个元素相乘A(m,n)表⽰取a矩阵第m⾏,第n列A(m,:)表⽰取a矩阵第m⾏的全部元素A(:,n)表⽰取a矩阵的第n列全部元素A./B表⽰a矩阵除以b矩阵的对应元素,B.\A等价于A./BA.^B表⽰两个矩阵对应元素进⾏乘⽅运算A.^2表⽰a中的每个元素的平⽅A^2表⽰A*A例:x=[1,2,3];y=[4,5,6];z=x.^yz=1 32 729指数可以是标量(如y=2).底数也可以是标量(如x=2)5、a=1+2i;>> b=3+4i;>> c=exp((pi*i)/6)c =0.8660 + 0.5000id=c+a*b/(a+b)d =1.6353 + 1.8462i第⼆章⼆、4、(1)y=0;k=0;>> while y<3k=k+1;>> display([k-1,y-1/(2*k-1)])ans =56.0000 2.9944第三章⼆1(1) x=0:pi/10:2*pi; >> y=x-x.^3/6; >> plot(x,y)1234567-40-35-30-25-20-15-10-505(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)012345670.20.40.60.811.21.41.6(3)x=-8:0.01:8; y=sqrt((64-x.^2)/2);plot(x,y)-8-6-4-2024680123456(4)t=0:0.1:8*pi; >> x=t.*sin(t); >> y=t.*cos(t);-25-20-15-10-50510152025-30-20-10102030例3.4x=0:pi/100:2*pi; y1=exp(-0.5*x);y2=exp(-0.5*x).*sin(2*x); plot(x,y1,x,y2)>> title('x from 0 to 2{\pi} '); >> xlabel('variable x'); >> ylabel('variable y'); >> text(1.5,0.5,'曲线y1=e^(-0.5x)'); >> text(3,0.1,'曲线y2=cos(4{\pi}x)e^{-0.5x}'); >> legend('y1','y2')1234567-0.4-0.20.20.40.60.81x from 0 to 2πvariable xv a r i a b l e y曲线y1=e (-0.5x)曲线y2=cos(4πx)e -0.5xy1y22、(1)y1=2*x-0.5;t=linspace(0,pi,100); x=sin(3*t).*cos(t); y=sin(3*t).*sin(t);>> k=find(abs(y-x)<1e-2); >> t1=t(k) t1 =0 0.7933 1.04722.0944>> z=sin(3.*(t1)).*cos(t1) z =0 0.4841 0.0000 0.0000 -0.0000>> plot(t,x,t,y,'k:',t1,z,'bp');0.511.522.533.5-1-0.8-0.6-0.4-0.200.20.40.60.81(2)subplot(1,2,1); >> scatter(x1,y1,10); >> title('y=2x-0.5'); >> subplot(1,2,2); >> scatter(x,y,10)-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.63、subplot(1,2,1); x=0:0.01:pi; y=sin(1./x); plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])1234-1-0.8-0.6-0.4-0.200.20.40.60.81204060801000.10.20.30.44、t=0:pi:2*pi; y=1./(1+exp(-t));subplot(2,2,1);%图形窗⼝的分割bar(t,'group'); %绘制柱形图(分组) subplot(2,2,2);barh(t,'stack');%绘制柱形图(堆积) subplot(2,2,3);loglog(t,y); %函数使⽤全对数坐标,x,y 均采⽤常⽤对数刻度 subplot(2,2,4); semilogy(t,y); %函数使⽤半对数坐标,y 轴为常⽤对数刻度,x 轴仍为线性刻度1230246802468123100.5100.710-0.01810-0.0010246810-0.310-0.210-0.15、(1)theta=linspace(-pi,pi,100); ro=5.*cos(theta)+4; polar(theta,ro); (2)x=linspace(0,2*pi,100);a=1>> r=a.*(1+cos(x)); polar(x,r);3021060240902701203001503301806、(1)t=0:pi/10:2*pi;>> x=exp((-t)/20).*cos(t); >> y=exp((-t)/20).*sin(t); >> z=t; >> plot3(x,y,z);-1-0.50.51-1-0.50.5102468(2)t=0:0.01:1; x=t;>> y=t.^2; >> z=t.^3;>> plot3(x,y,z);0.20.40.60.800.20.40.60.817、x=-30:0.1:0; >> y=0:0.1:30;>> [x,y]=meshgrid(x,y); >>z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2);>> meshc(x,y,z);绘制曲⾯图和等⾼线-30-20-10102030-4-202468、x=linspace(-3,3,100); >> y=linspace(-3,3,100); >> [x y]=meshgrid(x,y); %可以将向量转化为矩阵 >> fxy=-5./(1+x.^2+y.^2); >> i=find(abs(x)<=0.8 & abs(y)<=0.5); >> fxy(i)=NaN; >>surf(x,y,fxy) %绘制三维曲⾯图-4-224-4-224-4-3-2-19、u=linspace(1,10,100); v=linspace(-pi,pi,100);[u v]=meshgrid(u,v); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4*u.^2; surf(x,y,z); shading interp;-40-20-1010200100200300400第五章⼆1、a=rand(1,30000);mean(a) %求平均数 ans =0.5010 >>b=std(a) %求标准差 b =0.2882 >> c=max(a) c =0.9999 >> d=min(a) d =3.5706e-005size(find(a>0.5))/size(a) %求⼤于0.5的随机数个数占总数的百分⽐ans =0.50322、h=[466,715,950,1422,1635]; >> w=[7.04,4.28,3.40,2.52,2.13]; >> hh=[500,900,1500]; >> ww=interp1(h,w,hh,'spline')ww =6.4903 3.5226 2.3845 3、x=linspace(1,10,50); y=log(x);f=polyfit(x,y,5); %求曲线的拟合 >> yy=polyval(f,x); >> plot(x,y,'r-',x,yy,'g.') 123456789100.511.522.55、(1)、(2) p1=[1,2,0,7]; p2=[1,-2]; p3=[1,0,5,1]; p12=conv(p1,p2); >>p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; >> roots(p) ans =-3.4656 0.6128 + 1.6278i 0.6128 - 1.6278i 1.2400-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a)%以矩阵a 为⾃变量 y2 =391 2084 3273 502 2693 4207 720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根 z =-0.4903 第⼋章⼆、2t=0:pi/20:2*pi; x=sin(t); y=cos(t); x1=sin(7*t); y1=cos(7*t);h=plot(x,y,x1,y1);set(h,'marker','x','linewidth',2); set(gca,'xtick',-1:0.1:1); title('篮筐')-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.100.10.20.30.40.50.60.70.80.91 -1-0.8-0.6-0.4-0.200.20.40.60.81篮筐3、x=0:pi/10:5*pi;y=exp(-0.2*x).*cos(x)+2; h=plot(x,y);set(gca,'color','red','linestyle','-','linewidth',3);text(5,2.4,'y=exp(-0.2*x).*cos(x)+2');02468101214161.41.61.822.22.42.62.83y=exp(-0.2*x).*cos(x)+24、t=-pi:pi/100:pi; x=cos(t); y=sin(t); z=t;h=plot(t,x,t,y,t,z);set(h,'linestyle','-','linewidth',3);-4-3-2-101234-4-3-2-101234字符串例ch='Welcome to Beijing';subch=ch(12:18) 选12~18个字符串(空格也算)ans =WELCOME TO BEIJING >> length(k)统计⼩写字母的个数ans = 14 例:已知y=1-1/2+1/3-1/4.........-1/100求y 的值y=0; >> n=100; >> for i=1:100; y=y+(-1)^(i-1)/i; end>> disp(y)0.6882绘制⼆维曲线图x=0:pi/100:2*pi; >> y1=0.2*exp(-0.5*x).*cos(4*pi*x); >> y2=1.5*exp(-0.5*x).*cos(pi*x); >> plotyy(x,y1,x,y2); 7-0.20.20123456-202绘制三维图像例:x=sint+tcost y=cost-tsint z=tt=0:pi/10:10*pi; x=sin(t)+t.*cos(t); y=cos(t)-t.*sin(t); z=t; plot3(x,y,z); axis([-30 30 -30 30 0 35]); 坐标轴的最⼤值与最⼩值title('line in 3-D space'); 图形的题⽬ >> xlabel('x');ylabel('y');zlabel('z'); 标注坐标>> grid on; 加⽹格线 -30-20-10102030-20205101520253035xline in 3-D spaceyz三维例]2/,0[],,0[,cos sin 22ππ∈∈+=y x y x z [x,y]=meshgrid(0:pi/100:pi,0:pi/100:pi/2);>> z=sin(x.^2)+cos(y.^2);>> mesh(x,y,z);>> axis([0 4 0 1.8 -1.5 1.5]); 012340.511.5-1.5-1-0.500.511.5例3.16t=0:pi/20:2*pi; subplot(1,2,1);[x,y,z]=cylinder(sin(t),30);surf(x,y,z); 绘制三维曲⾯图subplot(1,2,2);>> [x,y,z]=peaks(100);>> mesh(x,y,z); 绘制三维⽹格图-11-10100.20.40.60.81-55-505-10-5510多项式求导例:f(x)=1/x^2+5 p=[1];>> q=[1,0,5];>> [p,q]=polyder(p,q)注:c=conv(a,b) 表⽰a 多项式与b 多项式乘积[p,r]=deconv(a,b) 表⽰a 多项式与b 多项式相除其中p 为商向量 r 为余数向量p=polyder(p) 表⽰求p 的导数 p=poleder(p,q) 表⽰求p 乘以q 的导数[p,q]=poleder(p,q) 表⽰p 除以q 的导数多项式求根例:f(x)=2x^4-12x^3+3x^2+5 p=[2,-12,3,0,5]; >> x=roots(p); >> p=[2,-12,3,0,5]; x=roots(p) 求⽅程f(x)=0的根 x =5.7246 0.8997 -0.3122 + 0.6229i -0.3122 - 0.6229i>> g=poly(x) 已知多项式的根求多项式 g =1.0000 -6.0000 1.5000 -0.00002.5000符号求导例7.3x=a(t-tsint)y=b(1-cost) 求y 对x 的⼀阶导数 syms x y a b t;>> f21=a*(t-sin(t)); >> f22=b*(1-cos(t));>> diff(f22)/diff(f21) 求y 对x 的⼀阶导数ans =b*sin(t)/a/(1-cos(t))注:diff(f1,x,2) 表⽰f1对x 的⼆阶导数diff (f3,x )表⽰z 对x 的偏导 diff (f3,y )表⽰z 对y 的偏导求不定积分int(f) 求f 的不定积分 f1=int(f,a,b) 求f 在a ,b 之间的定积分eval (f1)计算积分值符号求极限例7.2 syms x h>> f=(sin(x+h)-sin(x))/h;>> limit(f,h,0) h 趋向于0ans =cos(x)例2f=sym('(1+t/x)^x');limit(f,inf) f趋向于⽆穷ans =exp(t)例3f=sym('x*(sqrt(x^2+1)-x)');limit(f,sym('x'),inf,'left') x 趋向于正⽆穷ans =1/2⼤⼩写ch='Welcome to Beijing';subch=ch(12:18)subch =Beijing>> k=find(ch>='A'&ch<='Z'); ch(k)=ch(k)-('A'-'a');>> char(ch)ans =welcome to beijing>> length(k)ans =2。

MATLAB教程2012a习题解答1-7章完整版-张志涌-北航

MATLAB教程2012a习题解答1-7章完整版-张志涌-北航

●MATLAB R2012a●课后习题答案全解●第一章基础准备及入门习题1及解答⏹ 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〖解答〗(1)不同。

具体如下w1=a^(2/3) %仅求出主根w2=(a^2)^(1/3) %求出(-8)^2的主根 w3=(a^(1/3))^2%求出(-8)主根后再平方w1 = -2.0000 + 3.4641iw2 = 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;%计算各根的相角 endresult=(ma^(2/3)).*exp(j*sa) %计算各根result =-2.0000 + 3.4641i 4.0000 - 0.0000i -2.0000 - 3.4641i(B )利用多项式023=-a r 求根p=[1,0,0,-a^2]; r=roots(p) r =-2.0000 + 3.4641i -2.0000 - 3.4641i 4.0000⏹ 5.指令clear, clf, clc 各有什么用处?〖解答〗 clear 清除工作空间中所有的变量。

clf 清除当前图形。

clc 清除命令窗口中所有显示。

⏹ 6.以下两种说法对吗?(1)“MATLAB 进行数值的表达精度与其指令窗中的数据显示精度相同。

MATLAB习题答案_张志涌2008部分

MATLAB习题答案_张志涌2008部分
1
[Ci,Cj]=find(B) 3 %解法一: rand('state',123),A=rand(1,1000) B=(A>=0.5)*(+1),C=(~(A>=0.5))*(-1),D=C+B,[ri,rj]=size(find(C)) %解法二: a=randsrc(1,1000,[-1,1],123), B=find(a==-1), P=length(B) 5 t=linspace(1,10,100) (1) y=1-exp(-0.5.*t).*cos(2.*t),plot(t,y) (2) L=length(t) for k=1:L, yy(k)=1-exp(-0.5*t(k))*cos(2*t(k)), end, plot(t,yy) 6 clear,format long, rand('state',1),A=rand(3,3),B=diag(diag(A)),C=A.*(~B)%或 C=A-B%或 C=triu(A,1)+tril(A,-1) 第四章 2 d=0.5; tt=0:d:10; t=tt+(tt==0)*eps; y=sin(t)./t; s=d*trapz(y) % 计算出积分值 ss=d*(cumtrapz(y)) %计算梯形法累计积分并绘积 分曲线 plot(t,y,t,ss,'r'),hold on %插值法计算y(4.5),并绘出该点 yi=interp1(t,ss,4.5), plot(4.5,yi,'r+') %矩形算法计算y(4.5) yy=quad('sin(t)./t',0,4.5) %匿名函数求y(4.5) f=@(x)(int('sin(t)/t',0,x)),vpa(f(4.5)) %符号解法 syms x t y1 y2 y1i, y1=sin(t)./t, y1i=int(y1,t,0,x), y2=subs(y1i,x,4.5) hold on ,plot(4.5,y2,'*m') %此法可用,但有警告性提示 tt=0:0.1:10; for i=1:101

matlab2011实验2参考答案

matlab2011实验2参考答案

MATLAB实验二MATLAB符号计算试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3 报告以Word文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc4 试验报告doc文档以附件形式发送到maya_email@。

凡文档命名不符合规范,或者发送方式不正确,不予登记。

一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1 多项式运算(必做)1.1解方程:f(x)=x^4-10*x^3+34*x^2-50*x+25=0%采用数值方法:>> f=[1 -10 34 -50 25];>> roots(f)%采用符号计算方法:f1=sym('x^4-10*x^3+34*x^2-50*x+25')solve(f1)1.2求有理分式R=(3x^3+x)(x^3+2)/((x^2+2x-2)(5x^3+2x^2+1))的商多项式和余多项式.a1=[3 0 1 0] ;a2=[1 0 0 2] ;a=conv(a1,a2) ;b1=[1 2 -2] ;b2=[5 2 0 1] ;b=conv(b1,b2) ;[p,r]=deconv(a,b) ; %注意:a b 秩序不可颠倒。

% residue用于实现多项式的部分分式展开,此处用deconv函数%%此题,有同学程序如下:x1=[3 0 1 0],x2=[1 0 0 2],x3=[1 2 -2],x4=[5 2 0 1]x5=conv(x1,x2)[y6,r]=deconv(x5,x3)R=deconv(y6,x4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。

MATLAB课后习题集附标准答案

MATLAB课后习题集附标准答案

第2章 MATLAB概论1、与其他计算机语言相比较,MATLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MATLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.矚慫润厲钐瘗睞枥庑赖。

4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?聞創沟燴鐺險爱氇谴净。

答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。

5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.酽锕极額閉镇桧猪訣锥。

6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。

7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.謀荞抟箧飆鐸怼类蒋薔。

MATLAB教程R2011a

MATLAB教程R2011a

0.8913
注意:
要保证被重新赋值的子数组的长度与送入的数组 长度相同!!!
二、数组的排序
对于任一个数组,其元素往往是没有规律性的,在实际 应用中,往往需要对数组元素进行排序。
sort函数
1.sort(x)命令,将数组x中的元素按升序排列。
2.当x是多维数组时,sort(x)命令将x中的各列元素按升序排 列。
3.y=sort(x,dim,mode) dim 选择用于排列的维 mode 决定了排序的方式,“ascend”按升序排列, “descend”按降序排列
e.g >> x=[8 7 6 5 4 3 2 1] x= 8 7 6 5 4 3 2 1
>> sort(x)
ans =
1
2
3
4
5
6
7
8
e.g:
>> xor(A,B) ans =
1
0
1
0
0
§3.5 二维数组的创建
二维数组是由实数或复数排列成矩阵而构成的。
一、直接输入法
原则: 1.整个输入数组必须以方括号“[ ]”为其首尾。 2.数组的行与行之间必须用分号“ ; ”或回车键隔离。 3.数组元素必须用逗号“ , ”或空格分隔。
例1:A=[1,2,3;4,5,6;7,8,9]
注意:
1.只有两个数组的维数相同时,数组的乘除法才有 意义。
2.运算原则:数组单个元素之间的对应相乘和相除。
三、数组的乘方(.^)
1.两个数组之间的乘方运算 e.g x=[1,4,7]和y=[2,5,8]
>> x=[1,4,7]; >> y=[2,5,8]; >> z=x.^y

MATLAB教程2012a习题解答1-7章完整版-张志涌-北航

MATLAB教程2012a习题解答1-7章完整版-张志涌-北航
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))%拉氏变换及反变换
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
a =
在此,
〖目的〗
理解准确符号数值的创建法。
高精度误差的观察。
〖解答〗
(1)x=7/3
x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'),
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
〖目的〗
符号积分的解析解和符号数值解。
符号计算和数值计算的相互校验。
ans =
a
symvar(sym('z*exp(j*th)'),1)
ans =
z


〖目的〗
体验变量限定假设的影响
〖解答〗
(1)求三阶方程 正实根
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ezplot(subs(S(1),'C3',1),[-2,2 -2,2],1), hold on
ezplot(subs(S(2),'C3',1),[-2,2 -2,2],1) %用此两条指令绘圆,在y=0处有间隙
ezplot(subs(y^2-(S(1))^2, 'C3', 1),[-2,2 -2,2],2) %用椭圆方程绘图不产生间隙
L=length(t)
for k=1:L
yy(k)=1-exp(-0.5*t(k))*cos(2*t(k))
end
figure(1),plot(t,yy)
%(2)
y=1-exp(-0.5.*t).*cos(2.*t),
figure(2),plot(t,y)
figure(3),subplot(1,2,1),plot(t,y)
ss=d*(cumtrapz(y)) %计算梯形法累计积分并绘积分曲线
plot(t,y,t,ss,'r'),hold on
%用find指令计算y(4.5),并绘出该点
y4_5=ss(find(t==4.5))
%插值法计算y(4.5),并绘出该点
yi=interp1(t,ss,4.5), plot(4.5,yi,'r+')
subplot(1,2,2),plot(t,yy)
%习题3-6
clear,format long,
rand('twister',1),A=rand(3,3),
B=diag(diag(A)),
C=A.*(~B)
%或C=A-B%或C=triu(A,1)+tril(A,-1)
%习题3-7
clear,
x=-3*pi:pi/15:3*pi; y=x;
N=20
diff_y1=(diff(y(1:N:end)))./diff(t(1:N:end));
gradient_y1=(gradient(y(1:N:end)))./gradient(t(1:N:end));
% plot(t(1:end-1),diff_y,t,gradient_y)
t1=t(1:N:end);
%习题2-9
clear all, syms x;
f=exp(-abs(x)).*abs(sin(x));
fint=int(f,x,-5*pi,1.7*pi), digits(64), vpa(fint)
class(fint)
%习题2-10
clear all,syms x y,f=x.^2+y.^2,
fint=(int(int(f,y,1,x.^2),x,1,2)), double(fint)
%习题2-11
clear all, syms t x; f=sin(t)/t, yx=int(f,t,0,x), ezplot(yx,[0 2*pi])
fint=subs(yx,x,4.5),%或yxd=int(f,t,0,4.5),fint=double(yxd)
[I1,J1]=find(A>0.5)
subindex_A=sub2ind(size(A),I1,J1)
subindex_A=find(A>0.5)
[I,J]=ind2sub(size(A),subindex_A)
index_A=[I J]
%122_2
rand('twister',0),A=rand(3,5),B=A>0.5,C=find(B)
% (2)绘图
surf(X,Y,Z); shading interp
% (3)“无裂缝”图形的全部指令:
x=-3*pi:pi/15:3*pi;y=x';
[X,Y]=meshgrid(x,y); % X=ones(size(y))*x;Y=y*ones(size(x));
X=X+(X==0)*eps;
G =
piecewise([1/2 < y, y^2/4], [y <= 1/2, y])
%习题2-1
class(vpa(sym(3/7+0.1),4))
%习题2-2
findsym(sym('sin(w*t)'),1)
findsym(sym('a*exp(-X)'),1)
findsym(sym('z*exp(j*th)'),1)
hold on, plot(4.5,fint,'*r')
%习题2-12
% clear all, syms x n; f=(sin(x))^n; yn=int(f,'x',0,pi/2), class(yn)
clear all, syms x n; syms n positive ; f=(sin(x))^n; yn=int(f,'x',0,pi/2), class(yn)
[ci,cj]=ind2sub(size(A),C) %此法太繁
[Ci,Cj]=find(B)
%122_5
t=linspace(1,10,100)
(1) y=1-exp(-0.5.*t).*cos(2.*t),plot(t,y)
(2) L=length(t)
for k=1:L, yy(k)=1-exp(-0.5*t(k))*cos(2*t(k)), end, plot(t,yy)
%122_6
clear,format long, rand('twister',1),A=rand(3,3),
B=diag(diag(A)),C=A.*(~B)%或C=A-B%或C=triu(A,1)+tril(A,-1)
%习题3-3
% s=sign(randint(1,1000,[],123)-.5);
[X,Y]=meshgrid(x,y); % X=ones(size(y))*x;Y=y*ones(size(x));
warning off;
Z=sin(X).*sin(Y)./X./Y;
% (1)“非数”数目
m=sum(sum(isnan(Z))); %k=Z(isnan(Z));m=length(k)
colormap([0 0 1]) %用ezplot(fun)绘图时,如果fun中只有一个参数,绘图的颜色是蓝色;如果fun中有两个参数,绘图的颜色是绿色,此指令设置图形颜色为蓝。
grid on
S1=subs(S(1),'C3',1)
subs(S1,{x},{1.6^(1/2)})
y=double(solve(S1))
A=reshape(1:10*k,k,10);
if k==1
Sa(k,:)=A;
else
Sa(k,:)=sum(A);
end
end
Sa
第四章
%习题4-1
clear all
load prob_401;
diff_y=diff(y)./diff(t);
gradient_y=gradient(y)./gradient(t);
ezplot(subs(S(1),'C3',1),[-2,2 -2,2],1), hold on
ezplot(subs(S(2),'C3',1),[-2,2 -2,2],1)
%解为S =
% 2^(1/2)*(C3 - (5*x^2)/8)^(1/2)
% -2^(1/2)*(C3 - (5*x^2)/8)^(1/2)
length(t1)
figure(2)
subplot(1,2,1),plot(t,y,t1(1:end-1),diff_y1)
subplot(1,2,2),plot(t,y,t1,gradient_y1)
%习题4-2
d=0.5; tt=0:d:10; t=tt+(tt==0)*eps; y=sin(t)./t; s=d*trapz(y) %计算出积分值
evalin(symengine,'anames(Properties)')
evalin(symengine,'getprop(x)')
%习题2-4
7/3, pi/3 , pi*3^(1/3)
a = pi*3^(1/3) ,
b = sym( pi*3^(1/3) ),
c = sym( pi*3^(1/3),'d'),
t=linspace(y(2),y(1),100)
S2=subs(S(2),'C3',1)
figure
plot(t,subs(S1,x,t)), hold on
plot(t,subs(S2,x,t))
axis([-2,2 -2,2])
%习题2-24
x=dsolve('Dx=a*t^2+b*t','x(0)=2','t')
fk =2/(2*k+1)*(((x-1)/(x+1))^(2*k+1))
s=symsum(fk,k,0,inf)
s1=simple(s)
%习题2-8
clear all, syms t
y=abs(sin(t))
df=diff(y),class(df)
df1=limit(df,t,0,'left')
df2=subs(df,'t',sym(pi/2))
%习题2-25
[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0','g(0)=1','x')
相关文档
最新文档