精讲多练matlab课后答案
- 格式:doc
- 大小:51.00 KB
- 文档页数:7
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判断下列级数的收敛性,若收敛,求出其收敛值。
第一章 5题已知a=4.96,b=8.11,计算)ln(b a eba +-的值。
解:clear clc a=4.96; b=8.11;exp(a-b)/log(a+b) ans =0.0167 6题已知三角形的三边a=9.6,b=13.7, c=19.4,求三角形的面积。
提示:利用海伦公式area =))()((c s b s a s s ---计算,其中S=(A+B+C)/2. 解:clear clc a=9.6; b=13.7; c=19.4; s=(a+b+c)/2area=sqrt(s*(s-a)*(s-b)*(s-c)) s =21.3500 第二章 8题已知S=1+2+2^2+2^3+……+2^63,求S 的值 解:clear clc S=0;for i=0:1:63 S=S+2^i; end S S =1.8447e+019 9题分别用for 和while 循环结构编写程序,计算∑=-1001n 1n 2)(的值。
解:clear clc s=0;for n=1:100 s=s+(2*n-1); end s s =10000 clear clc n=1; s=0;while n<=100 s=s+(2*n-1); n=n+1; end s s =10000 第三章 2题在同一坐标下绘制函数x ,,2x-,2x xsin(x)在()∏∈,0x 的曲线。
解:clear clcx=0:0.2:pi; y1=x; y2=x.^2; y3=-(x.^2); y4=x.*sin(x);plot(x,y1,'-' ,x,y2,'-' ,x,y3,'-' ,x,y4,'-')0.511.522.53-10-8-6-4-202468109题用不同的线型和颜色在同一坐标内绘制曲线y1=2ex5.0 、y2=sin(2∏x )的图形。
习题二1.如何理解“矩阵就是MATLAB最基本得数据对象”?答:因为向量可以瞧成就是仅有一行或一列得矩阵,单个数据(标量)可以瞧成就是仅含一个元素得矩阵,故向量与单个数据都可以作为矩阵得特例来处理。
ﻩ因此,矩阵就是MATLAB最基本、最重要得数据对象。
2.设A与B就是两个同维同大小得矩阵,问:(1)A*B与A。
*B得值就是否相等?答:不相等。
(2)A。
/B与B。
\A得值就是否相等?答:相等。
(3)A/B与B\A得值就是否相等?答:不相等、(4)A/B与B\A所代表得数学含义就是什么?答:A/B等效于B得逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵得逆左乘A矩阵,即inv(B)*A。
3.写出完成下列操作得命令。
(1)将矩阵A第2~5行中第1,3, 5列元素赋给矩阵B。
答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A得第7号元素、答:A(7)=[](3)将矩阵A得每个元素值加30、答:A=A+30;(4)求矩阵A得大小与维数、答:size(A);ndims(A);(5)将向量t得0元素用机器零来代替。
答:t(find(t==0))=eps;(6)将含有12个元素得向量x转换成矩阵、答:reshape(x,3,4);(7)求一个字符串得ASCII码。
答:abs(‘123’); 或double(‘123');(8)求一个ASCII码所对应得字符、答:char(49);4.下列命令执行后,L1、L2、L3、L4得值分别就是多少?A=1:9;B=10-A;。
.、L1=A==B;L2=A<=5;L3=A〉3&A〈7;L4=find(A>3&A<7);答:L1得值为[0, 0, 0, 0, 1, 0, 0,0, 0]L2得值为[1, 1, 1, 1, 1,0, 0, 0, 0]L3得值为[0, 0, 0, 1,1, 1, 0, 0, 0]L4得值为[4,5, 6]5.已知完成下列操作:(1)取出A得前3行构成矩阵B,前两列构成矩阵C,右下角子矩阵构成矩阵D,B与C得乘积构成矩阵E。
习题二1.如何理解“矩阵是MATLAB 最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
因此,矩阵是MATLAB 最基本、最重要的数据对象。
2.设A 和B 是两个同维同大小的矩阵,问:(1)A*B 和A.*B 的值是否相等?答:不相等。
(2) A./B 和B.\A 的值是否相等?答:相等。
(3)A/B 和B\A 的值是否相等?答:不相等。
(4)A/B 和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B 矩阵的逆左乘 A 矩阵,即inv(B)*A。
3.写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。
答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A的第7号元素。
答:A(7)=[](3)将矩阵A的每个元素值加30。
答:A=A+30;(4)求矩阵A的大小和维数。
答:size(A);ndims(A);(5)将向量t的0 元素用机器零来代替。
答:t(find(t==0))=eps;(6)将含有12 个元素的向量x转换成34矩阵。
答:reshape(x,3,4);(7)求一个字符串的ASCII 码。
答:abs(‘123'); 或double(‘123');(8)求一个ASCII 码所对应的字符。
答:char(49);4.下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]L4的值为[4, 5, 6]5.已知23 10 -0.778 041 -45 65 5A=32 5 0 326 -9.54 54 3.14完成下列操作:(1)取出A 的前3 行构成矩阵B,前两列构成矩阵C,右下角32子矩阵构成矩阵D,B 与C的乘积构成矩阵E。
1 数字1.5e2,1.5e3 中的哪个与1500相同吗?1.5e32 请指出如下5个变量名中,哪些是合法的?abcd-2xyz_33chan a 变量ABCDefgh 2、5是合法的。
3 在MATLAB 环境中,比1大的最小数是多少? 1+eps4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2w1 = -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) w a z3 (1)试写出求三阶方程05.443=-x 正实根的程序。
注意:只要正实根,不要出现其他根。
(2)试求二阶方程022=+-a ax x 在0>a 时的根。
(1)reset(symengine)syms x positive solve(x^3-44.5) ans =(2^(2/3)*89^(1/3))/2(2)求五阶方程022=+-a ax x 的实根 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 positivesolve(x^2-a*x+a^2) ans =a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/24 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。
第 1 章练习题答案1-2.A= ;B= ;C= ;D= ;E=;T=atan((2*pi*A+E/(2*pi*B*C))/D)1-3clearx=45;(sin(x*pi/180)+sqrt(35))/(72^(1/5))1-4cleara=;b=;exp(a+b)/log10(a+b)1-5clearx=3;y=sqrt(x)-6*(x+1/x)+^2/(x+^31-6clearr=15;d=2*rc=2*pi*rs=pi*r*r1-7cleara=;b=;c=;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c))第 2 章练习题答案2-1 c learA=[ 3 1 1;2 1 2;1 2 3]; B=[1 1 -1;2 -1 0;1 -1 1]; 2*A+B,4*(A^2)-3*(B^2),A*B,B*A,A*B-B*A 2-2 clearA=[1/3 0 0;0 1/4 0;0 0 1/7];B=inv(inv(A)-eye(3))*62-3clearB=[1 2 -3 -2;0 1 2 -3;0 0 1 2;0 0 0 1];C=[1201;0120;0012;0001];A=(inv(2*eye(4)-inv(C)*B)*inv(C))'2-4clearA=[2 -1;-1 2];B=[0 -2;-2 0];X=(1/2)*(B+2*A)2-5clearA=[2 -3 0 2;1 5 2 1;3 -1 1 -1;4 1 2 2];B=[8;2;7;12];X=A\B2-6A=[3 12 4 7 0 8 1];p=poly2str(A,'x')x=roots(A)2-7A=[3 12 4 7 0 8 1];B=[1 -3 5 -15 0];[div,rest]=deconv(A,B)第三章=sym('x');limit((cos(sqrt(x)))^(pi/x),x,0,'right')ans =exp(-1/2*pi)=sym('x');f=sym('(3*sin(x)+x^2*cos(1/x))/((1+cos(x))*log(1+x))');limit(f,x,0)ans =3/2=sym('x');f=sym('(sqrt(4*x^2+x-1)+x+1)/sqrt(x^2+sin(x))');limit(f,x,-inf)ans =1x y;f=sym('(x^2+y^2)^(x^2*y^2)');limit(limit(f,x,0),y,0) ans =1 =sym('x');y=sym('(tan(sqrt(x+sqrt(x+sqrt(2*x)))))^2');diff(y,x)ans=tan((x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2))*(1+tan((x+(x+2^(1/2)*x^(1/2 ))^(1/2))^(1/2))^2)/(x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2)*(1+1/2/(x+2^(1/2)*x^(1/2))^(1/2)*(1+1/2*2^(1/2)/x^(1/2)))3-6.x=sym('x');y=sym('cos(x^2)*sin(1/x)^2');diff(y,x)ans =-2*sin(x^2)*x*sin(1/x)^2-2*cos(x^2)*sin(1/x)*cos(1/x)/x^23-7 .x=sym('x');y=sym('sqrt(sin(x)-sin(x)^3)');int(y,x,0,pi)ans =4/3=sym('x');y=sym('sqrt((x+1)/(x-1))/x');int(y,x)ans=-((1+x)/(x-1))^(1/2)*(x-1)*(atan(1/(-1+x^2)^(1/2))-log(x+(-1+x^2)^(1 /2)))/((1+x)*(x-1))^(1/2)('D2y+4*Dy+4*y=exp(-2*x)','x')ans =1/2*exp(-2*x)*(2*C2+2*x*C1+x^2)3-10.dsolve('x^2*Dy+x*y=y^2','y(1)=1')ans =x*exp(1/x)/(exp(1/x)+exp(1/x*t)*x-exp(1/x*t))第四章4-1.plot([1 2 4 0 5 10 11 21 3 1])4-2.t=0:pi/100:2*pi;x=cos(t);y=sin(t);plot(x,y);axis('square');4-3.R=[1 5 10 20];I=0::10;U=I'*R;plot(I,U);4-4.mon=1:12;temp=[];rainf=[];plot(mon,temp,'r-p',mon,rainf,'b:s');xlabel('month');ylabel('temperature and rainfall');%title('Temperature and Rainfall Curve');%text(3,1,'rainfall');%text(9,,'temperature');flag=12;while(flag)text(mon(flag),temp(flag),[num2str(mon(flag)),num2str(temp(flag))]); text(mon(flag),rainf(flag),[num2str(mon(flag)),num2str(rainf(flag))]);flag=flag-1;end4-5.A=[1111111;1222221;1223221;1222221;111111 1]; plot(A);4-6.x=-10::10;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;surf(X,Y,Z);4-7.clccleartheta=(0::2)*pi;phi=(0::2)*pi;x=zeros(length(theta),length(phi));y=x;z=x;for i=1:length(theta)for j=1:length(phi)x(i,j)=2*sin(theta(i))*cos(phi(j));y(i,j)=3*sin(theta(i))*sin(phi(j));endz(i,:)=4*cos(theta(i));endaxis squaresubplot(2,2,1);mesh(x,y,z)title('三维 ')subplot(2,2,2);mesh(x,y,z)view(90,0)title('X轴视图 ')subplot(2,2,3);mesh(x,y,z)view(0,0)title('Y轴视图 ')subplot(2,2,4);mesh(x,y,z)view(0,90)title('Z轴视图 ')第五章5-1 :clear;x=-2::2;for ii=1:401if(x(ii)<0)y(ii)=x(ii)+1;elseif (x(ii)<1)&(x(ii)>=0)y(ii)=1;elseif(x(ii)>=1)y(ii)=x(ii)^3;endendplot(x,y);5-2 :function y=fenduan(x)if(x<0)y=x+1;elseif (x<1)&(x>=0)y=1;elseif(x>=1)y=x^3;end5-3 :成立文件以下:function y=arcsin(x)if abs(x)>1disp('输入参数的绝对值一定小于1');return;endn=0;y=0;u=x;while u>epsu=(jiecheng(2*n)*x^(2*n+1))/(2^(2*n)*(jiecheng(n)^2*(2*n+1)));y=y+u;n=n+1;end成立文件以下:function y=jiecheng(n)if(n<0)disp('输入参数一定为大于或等于0 的整数 ');return;endif n==0 | n==1y=1;elsey=n*jiecheng(n-1);end5-4 :成立文件以下:function [tu,ji]=shuliang(tou,jiao)tu=jiao/2-tou;ji=2*tou-jiao/2;在命令窗口中履行: >>[a,b]=shuliang(36,100)5-5 :for i=2:999ge=rem(i,10);shi=rem(fix(i/10),10);bai=fix(i/100);if rem((ge+shi+bai),2) & isprime(i)disp(i);endend5-6 :function y=issushu(n)y=1;for ii=2:fix(n/2)if(rem(n,ii)==0)y=0;endend习题 1(程序段后边的是其运转的结果)例题function lt12a=1+2*i;b=3-4*i;disp(['a+b=',num2str(a+b)])disp(['a-b=',num2str(a-b)])disp(['a*b=',num2str(a*b)])disp(['a/b=',num2str(a/b)])>> lt12a+b=4-2i a-b=-2+6i a*b=11+2ia/b=+ >>例题function z=lt13x=*pi/180;y=*pi/180;z=sin(abs(x)+abs(y))/sqrt(cos(abs(x+y))); >> lt13 ans =>>例题function p1=lt14r=;n=2015-2000;p0=;p1=p0*+r)^n;>>lt14ans =+009>>例题function lt15a=1;b=2;c=3;d=sqrt(b^2-4*a*c);x1=(-b+d)/2*a;x2=(-b-d)/2*a;disp('原方程的根是:')disp(['x1=',num2str(x1)])disp(['x2=',num2str(x2)])>>lt15原方程的根是:x1=-1+ x2=>>。
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 运算基础1.先求下列表达式的值,然后显示 MATLAB 工作空间的使用情 况并保存全部变量解:4.完成下列操作:(1) 求[100,999] 之间能被21整除的数的个数。
(1) z i 2sin 85° 1 e 2Z 2 卯(x L),其中x2 0.45 2i 5Z 3 0.3a 0.3a e e 2sin (a 0.3)3.0, 2.9,L ,2.9, 3.0 Z 4t 2t 2 t 2 1 2t 其中 t=0:0.5:2.5(2) 建立一个字符串向量,删除其中的大写字母。
解: (1)结果:m=100:999;n=fin d(mod(m,21)==0);len gth( n)ans =43(2).建立一个字符串向量例如:ch二'ABC123d4e56Fg9:则要求结果是: ch二'ABC123d4e56Fg9:k=fi nd(ch>='A'&ch<='Z'); ch(k)=[] ch =123d4e56g9 实验二MATLAB 矩阵分析与处理1.设有分块矩阵A E 3 3 °2 3 R 3 2S 2 2 ,其中E 、R 、0、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证A 2 E R RS 0 S 22 3 4 1 1 1 3 4 5 1 1 1 4 5 6 x , 0.95 x 2 0.67 x 3 0.52(1) 求方程的解。
(2) 将方程右边向量元素 b 3改为0.53再求解,并比较 b 3的变化和解的相对变化。
(3)计算系数矩阵A 的条件数并分析结论。
解:M 文件如下: 解:M 文件如下; 5.下面是一个线性方程组:实验三选择结构程序设计1. 求分段函数的值。
x2x 6 x 0且x 3y x2 5x 6 0 x 5且x 2 及x 3x2x 1 其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的y值。
习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
因此,矩阵是MATLAB最基本、最重要的数据对象。
2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。
(2)A./B和B.\A的值是否相等?答:相等。
(3)A/B和B\A的值是否相等?答:不相等。
(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。
3.写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。
答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A的第7号元素。
答:A(7)=[](3)将矩阵A的每个元素值加30。
答:A=A+30;(4)求矩阵A的大小和维数。
答:size(A);ndims(A);(5)将向量t的0元素用机器零来代替。
答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成34矩阵。
答:reshape(x,3,4);(7)求一个字符串的ASCII码。
答:abs(‘123’); 或double(‘123’);(8) 求一个ASCII 码所对应的字符。
答:char(49);4. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]L4的值为[4, 5, 6]5. 已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦完成下列操作:(1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32⨯子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。
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。
第一章习题2function xt12A=1.2;B=-4.6;C=8.0;D=3.5;E=-4.0;T=atan((2*pi*A+E/(2*pi*B*C))/D);disp('计算结果为:')disp(['T=',num2str(T)])>> xt12计算结果为:T=1.1371>>习题3function xt13x=45*pi/180;T=(sin(x)+sqrt(35))/35^0.2; disp(['计算结果为:',num2str(T)])>> xt13计算结果为:3.2528>>习题4function xt14a=5.76;b=7.811;T=exp(a+b)/log10(a+b);disp('计算结果为:')disp(['T=',num2str(T)])>> xt14计算结果为:T=691399.9003习题5function xt15x=3;y=sqrt(x)-6*(x+1/x)+(x-3.2)^2/(x+7.7)^3; disp('计算结果为:')disp(['y=',num2str(y)])>> xt15计算结果为:y=-18.2679习题6function xt16r=15;c=2*pi*r;s=pi*r^2;disp(['圆的周长c=',num2str(c)])disp(['圆的面积s=',num2str(s)])>> xt16圆的周长c=94.2478圆的面积s=706.8583习题7function xt17a=8.5;b=14.6;c=18.4;s=(a+b+c)/2;are=sqrt(s*(s-a)*(s-b)*(s-c));disp(['所求三角形的面积是:are=',num2str(c)]) >> xt17所求三角形的面积是:are=18.4第三章1.x=sym('x');limit((cos(sqrt(x)))^(pi/x),x,0,'right')ans =exp(-1/2*pi)2.x=sym('x');f=sym('(3*sin(x)+x^2*cos(1/x))/((1+cos(x))*log(1+x))'); limit(f,x,0)ans =3/23.x=sym('x');f=sym('(sqrt(4*x^2+x-1)+x+1)/sqrt(x^2+sin(x))');limit(f,x,-inf)ans =14.syms x y;f=sym('(x^2+y^2)^(x^2*y^2)');limit(limit(f,x,0),y,0)ans =1x=sym('x');y=sym('(tan(sqrt(x+sqrt(x+sqrt(2*x)))))^2');diff(y,x)ans =tan((x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2))*(1+tan((x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2))^2)/(x+(x+2^(1 /2)*x^(1/2))^(1/2))^(1/2)*(1+1/2/(x+2^(1/2)*x^(1/2))^(1/2)*(1+1/2*2^(1/2)/x^(1/2)))6.x=sym('x');y=sym('cos(x^2)*sin(1/x)^2');diff(y,x)ans =-2*sin(x^2)*x*sin(1/x)^2-2*cos(x^2)*sin(1/x)*cos(1/x)/x^27.x=sym('x');y=sym('sqrt(sin(x)-sin(x)^3)');int(y,x,0,pi)ans =4/38.x=sym('x');y=sym('sqrt((x+1)/(x-1))/x');int(y,x)ans =-((1+x)/(x-1))^(1/2)*(x-1)*(atan(1/(-1+x^2)^(1/2))-log(x+(-1+x^2)^(1/2)))/((1+x)*(x-1))^(1/2)9.dsolve('D2y+4*Dy+4*y=exp(-2*x)','x')ans =1/2*exp(-2*x)*(2*C2+2*x*C1+x^2)10.dsolve('x^2*Dy+x*y=y^2','y(1)=1')ans =x*exp(1/x)/(exp(1/x)+exp(1/x*t)*x-exp(1/x*t))第四章1.plot([1 2 4 0 5 10 11 21 3 1])2.t=0:pi/100:2*pi;x=cos(t);y=sin(t);plot(x,y);axis('square');3.R=[1 5 10 20];I=0:0.1:10;U=I'*R;plot(I,U);4.mon=1:12;temp=[0.2 2.3 8.7 18.5 24.6 32.1 36.8 37.1 28.3 17.8 6.4 -3.2];rainf=[4.6 3.6 2.1 2.9 3.0 2.7 2.2 2.5 4.3 3.4 2.1 3.7];plot(mon,temp,'r-p',mon,rainf,'b:s');xlabel('month');ylabel('temperature and rainfall');%title('Temperature and Rainfall Curve');%text(3,1,'rainfall');%text(9,28.3,'temperature');flag=12;while(flag)text(mon(flag),temp(flag),[num2str(mon(flag)),num2str(temp(flag))]);text(mon(flag),rainf(flag),[num2str(mon(flag)),num2str(rainf(flag))]);flag=flag-1;end5.A=[1 1 1 1 1 1 1;1 2 2 2 2 2 1;1 2 2 3 2 2 1;1 2 2 2 2 2 1;1 1 1 1 1 1 1]; plot(A);6.x=-10:0.5:10;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;surf(X,Y,Z);7.clccleartheta=(0:0.1:2)*pi;phi=(0:0.1:2)*pi;x=zeros(length(theta),length(phi));y=x;z=x;for i=1:length(theta)for j=1:length(phi)x(i,j)=2*sin(theta(i))*cos(phi(j));y(i,j)=3*sin(theta(i))*sin(phi(j));endz(i,:)=4*cos(theta(i));endaxis squaresubplot(2,2,1);mesh(x,y,z)title('三维')subplot(2,2,2);mesh(x,y,z)view(90,0)title('X轴视图')subplot(2,2,3);mesh(x,y,z)view(0,0)title('Y轴视图')subplot(2,2,4);mesh(x,y,z)view(0,90)title('Z轴视图')第五章1:clear;x=-2:0.01:2;for ii=1:401if(x(ii)<0)y(ii)=x(ii)+1;elseif (x(ii)<1)&(x(ii)>=0)y(ii)=1;elseif(x(ii)>=1)y(ii)=x(ii)^3;endendplot(x,y);2:function y=fenduan(x)if(x<0)y=x+1;elseif (x<1)&(x>=0)y=1;elseif(x>=1)end3:建立文件arcsin.m如下:function y=arcsin(x)if abs(x)>1disp('输入参数的绝对值必须小于1');return;endn=0;y=0;u=x;while u>epsu=(jiecheng(2*n)*x^(2*n+1))/(2^(2*n)*(jiecheng(n)^2*(2*n+1)));y=y+u;n=n+1;end建立文件jiecheng.m如下:function y=jiecheng(n)if(n<0)disp('输入参数必须为大于或等于0的整数');return;endif n==0 | n==1y=1;elsey=n*jiecheng(n-1);end4:建立shuliang.m文件如下:function [tu,ji]=shuliang(tou,jiao)tu=jiao/2-tou;ji=2*tou-jiao/2;在命令窗口中执行:>>[a,b]=shuliang(36,100)5:for i=2:999ge=rem(i,10);shi=rem(fix(i/10),10);bai=fix(i/100);if rem((ge+shi+bai),2) & isprime(i)disp(i);endend6:function y=issushu(n)y=1;for ii=2:fix(n/2)if(rem(n,ii)==0)end end。