Matlab上机练习二答案.doc

上传人:s****u 文档编号:12766872 上传时间:2020-05-23 格式:DOC 页数:11 大小:138KB
返回 下载 相关 举报
Matlab上机练习二答案.doc_第1页
第1页 / 共11页
Matlab上机练习二答案.doc_第2页
第2页 / 共11页
Matlab上机练习二答案.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
1、 求的共轭转置。 x=4+8i 3+5i 2-7i 1+4i 7-5i;3+2i 7-6i 9+4i 3-9i 4+4i; xans = 4.0000 - 8.0000i 3.0000 - 2.0000i 3.0000 - 5.0000i 7.0000 + 6.0000i 2.0000 + 7.0000i 9.0000 - 4.0000i 1.0000 - 4.0000i 3.0000 + 9.0000i 7.0000 + 5.0000i 4.0000 - 4.0000i2、计算与的数组乘积。 a=6 9 3;2 7 5; b=2 4 1;4 6 8; a.*bans = 12 36 3 8 42 403、 对于,如果,求解X。 A=4 9 2;7 6 4;3 5 7; B=37 26 28; X=ABX = -0.5118 4.0427 1.33184、 ,观察a与b之间的六种关系运算的结果。 a=1 2 3;4 5 6; b=8 7 4;3 6 2; abans = 0 1 0 1 0 1 a=bans = 0 1 0 1 0 1 a a a=bans = 0 0 0 0 0 0 a=bans = 1 1 1 1 1 15、,在进行逻辑运算时,a相当于什么样的逻辑量。相当于a=1 1 0 1 1。6、 角度,求x的正弦、余弦、正切和余切。 x=30 45 60; x1=x/180*pi; sin(x1)ans = 0.5000 0.7071 0.8660 cos(x1)ans = 0.8660 0.7071 0.5000 tan(x1)ans = 0.5774 1.0000 1.7321 cot(x1)ans = 1.7321 1.0000 0.57747、 用四舍五入的方法将数组2.4568 6.3982 3.9375 8.5042取整。 b=2.4568 6.3982 3.9375 8.5042; round(b)ans = 2 6 4 98、设,求C1=A*B;C2=A*B;C3=A.*B,并求上述所有方阵的逆阵。 A=1 4 8 13;-3 6 -5 -9;2 -7 -12 -8; B=5 4 3 -2;6 -2 3 -8;-1 3 -9 7; C1=A*BC1 = 19 -82 30 12 27 3 -38 54 29 C2=A*BC2 = -15 16 -24 36 63 -17 93 -105 22 6 117 -60 19 46 84 -10 C3=A.*BC3 = 5 16 24 -26 -18 -12 -15 72 -2 -21 108 -56 inv(C1)ans = 0.0062 0.0400 -0.0106 -0.0046 0.0169 0.0030 0.0168 0.0209 0.0150 inv(C2)Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 8.997019e-019.ans = 1.0e+015 * -0.9553 -0.2391 -0.1997 0.2700 0.9667 0.2420 0.2021 -0.2732 -0.4473 -0.1120 -0.0935 0.1264 -1.1259 -0.2818 -0.2353 0.3182 inv(C3)? Error using = invMatrix must be square.9、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=010区间生成的xy曲线。 t=linspace(0,10); r1=2; x1=(r1*cos(t)+3*t); y1=r1*sin(t)+3; r2=3; x2=(r2*cos(t)+3*t); y2=r2*sin(t)+3; r3=4; x3=(r3*cos(t)+3*t); y3=r3*sin(t)+3; plot(x1,y1,r,x2,y2,b,x3,y3,m)10、设f(x)=x5- 4x4 +3x2- 2x+ 6(1) 在x=-2,8之间取100个点,画出曲线,看它有几个过零点。(提示:用polyval 函数) x=linspace(2,8,100); y=polyval(1 0 -4 3 -2 6,x); plot(x,y,b,x,0,y)(2) 用roots函数求此多项式的根。t=1 0 -4 3 -2 6p=roots(t)12、 求解多项式x3-7x2+2x+40的根。 r=1 -7 2 40; p=roots(r); -0.2151 0.4459 0.7949 0.270713、符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为0,2p。 syms t ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),0,pi)14、设,求x=sym(x); y=(sin(x)4+(cos(x)4;diff(y,10)15、x=sym(x);int(sqrt(9-x2)3)/x6),x)16、x=sym(x);int(x+x3,x,1,2)17、求级数的和: sym(n);symsum(n+2/2n,n,1,inf)18、利用函数int计算二重不定积分x=sym(x); y=sym(y);z=(x+y)*exp(-x*y);a=int(z,x);int(a,y)19、试求出如下极限。(1); (2);(1) syms x;f=(3x+9x)(1/x);l=limit(f,x,inf) ans= 9(2) syms x y;f=x*y/(sqrt(x*y+1)-1);limit(limit(f,x,0),y,0) ans = 2(3) syms x y;f=(1-cos(x2+y2)*exp(x2+y2)/(x2+y2);limit(limit(f,x,0),y,0) ans = 020、已知参数方程,试求出和 syms t;x=log(cos(t);y=cos(t)-t*sin(t);diff(y,t)/diff(x,t) ans = -(-2*sin(t)-t*cos(t)/sin(t)*cos(t) f=diff(y,t,2)/diff(x,t,2);subs(f,t,sym(pi)/3) ans = 3/8-1/24*pi*3(1/2)21、假设,试求 syms x y t s=int(exp(-t2),t,0,x*y); x/y*diff(f,x,2)-2*diff(diff(f,x),y)+diff(f,y,2) ans =2*x2*y2*exp(-x2*y2)-2*exp(-x2*y2)-2*x3*y*exp(-x2*y2)22试求出下面的极限。(1);(2) syms k n;symsum(1/(2*k)2-1),k,1,inf) ans = 1/2 limit(symsum(1/(2*k)2-1),k,1,n),n,inf) ans = 1/2(2) limit(n*symsum(1/(n2+k*pi),k,1,n),n,inf) ans = 123、假设一曲线数据点为x=0:2:4*pi y=sin(x).*exp(-x/5)试将x的间距调成0.1,并用下列方法进行内插:(1) 线性内插法(method=linear)(2) 样条内插法(method=spline)(3) 三次多项式内插法(method=cubic)(4) 多项式拟合法:直接利用6次多项式去通过7个数据点请将这些内插法的结果及原先的数据点画在同一个图上25、阅读以下程序并在指定位置上写注释(6分)t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,r-,x,y,z,bd) %_(1)_绘制一条红色连续曲线和蓝色菱形离散点view(-82,58) %_(2)_以方位角-82度,俯角58度观察视图box on %显示坐标轴的矩形框legend(图形,视角) %_ (3)_标注图例_hold on %_(4)_保持图形_x=-4:4;y=x;X,Y=meshgrid(x,y); %_(5)_生成平面网格坐标矩阵_Z=X.2+Y.2;surf(X,Y,Z); %_ (6)_绘制三维曲面_26、编写一个M函数文件fun_es(x),计算如下函数:,其中参数可以为标量,也可以为向量。在Matlab指令窗口键入如下命令检验该函数: fun_es(3)function fun_es(x)y=0.5.*exp(x./3)-x.2.*sin(x)27、编写m函数文件求半径为r的圆的面积和周长。function f=circle(r)S=pi*r2L=2*pi*rx,yMatlab上机实验四28、编制m文件,等待键盘输入,输入密码123,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。function f=zy2()t=input(Input key(key is 123) )if t=123 goodelse You are fool, input again zy2; /从新输入;end4.3已知y=。当n=100时,求y的值步骤:建立函数,命名为Cbb.m求平方倒数的和。其程序如下function F=Cbb(n)F=0;k=1;while k=n F=F+(1/k)/k; k=k+1;endend在工作空间中求y值 y= Cbb(100)y=1.63504.5编制程序,计算1+2+n2000时的最大n值步骤:建立函数文件Dbb.m,求累加和小于n的最大数,使n=2000程序如下function k=Dbb(n)k=1;f=0;while fn f=f+k; k=k+1;endk=k-2;end将2000作为输入值,求n.在工作空间中输入如下: Dbb(2000)ans =624.6分别用for和while循环结构编写程序,求出K=分别用for和while循环结构编写命令文件Ebb,Fbb.并在工作空间中求KEbb程序如下f=1;J(1)=1;for i=1:63J(i+1)=J(i)*2;f=f+J(i+1);End求K程序:Ebb.m ff = 1.8447e+019Fbb程序如下I=1;H=1;i=1;while i=63 H=H*2; I=I+H; i=i+1;end在工作空间中求KFbb.mII = 1.8447e+0191.倘若要是生成一个4行5列的矩阵a=rand(4,5)2.倘若要是对x进行赋值,从5到25,间隔是0.1x=5:0.1:25;倘若要是对x进行赋值,从2到20,中间间隔100个点x=linspace(2,20,100);4. 用3种方法将图画在同一个窗口中x=5:0.1:25;y1=sin(x).*cos(2*x);y2=sin(2*x).*cos(x);plot(x,y1,x,y2)有一点必须注意:在式子与式子之间,必须要用点乘要想对所画的图形进行修饰,可以用以下的语句,要点是必须是先画出图形,再写有关对图形修饰的语句plot(x,y1,x,y2);plot(x,y1,r-,x,y2,b-.);xlabel(横坐标);title(标题);legend(sinx*cosx,sin2x*cosx);(加示例)怎样改变线宽?以及怎样给一个中间空着的正方形的边缘及内部填充颜色plot(x,y,markeredge,g);plot(x,y,markerfacecolor,b);5关于三维图的画法 饼图 pie 火柴杆图 stem(x,y) 阶梯图6. 关于排序问题a=rand(4,5); 随机生成4*5的矩阵sort(a); 按列排序,且每列由上到下是由小到大sort(a,1); 按列排序,且每列由上到下是由小到大sort(a,2); 按行排序,且每行由左到右是由小到大倘若想要改变由大到小还是想改变由小到大,需要用到增长 ascend减小 descend例如:按行进行排序,且每一行自左至右是递减的,即:按照行从高到低排序a=1 2 3;4 5 6;7 8 9sort(a,2,descend)a = 1 2 3 4 5 6 7 8 9ans = 3 2 1 6 5 4 9 8 77. 关于矩阵问题求矩阵中每一列的平均值mean(a)mean(a,1)求矩阵中每一行的平均值mean(a,2)从矩阵a中找出最大值max(max(a) 内层的max相当于找出每一列的最大值,外层的max相当于找出每一列最大值的最大值 或者 a=rand(3,4)max(a(:) 即a的所有行,所有列倘若对矩阵a前两行的 2,3 ,4 列求最大值max(a(1:2,2:4)求矩阵a的行列式值|a|b=det(a) det语句是求n*n的行列式的值求矩阵a的逆矩阵b=inv(a) inv是矩阵求逆的意思求矩阵a的转置b=a对于矩阵a:求出矩阵a中每一列中的最大值,最小值a=1 2 3;4 5 6;7 8 9b=max(a)c=min(a)求出矩阵a中每一行中的最大值,最小值a=1 2 3;4 5 6;7 8 9b=max(a,2)c=min(a,2)8. 关于取整问题a=5/2b=ceil(a) 向大取c=floor(a) 向小取9. 关于多形式的乘法和除法 例如:求x2+2x+3与4x2+5x+6的乘积 a=1 2 3b=4 5 6c=conv(a,b)求x2+2x+3除以4x2+5x+6a=1 2 3b=4 5 6c=deconv(a,b)10. 关于矩阵确定位置的问题例如:找出矩阵a的最大值,并确定其位置a=rand(3,4)x,y=max(a)11. Matlab的函数是由function 语句引导的,函数的基本结构是: function返回变量列表=函数名(输入变量列表)倘若有一个输入,一个输出function y=sum(a) 倘若有两个输入,两个输出,则形式为 functionm,n=hanshu(a,b)例如:functionx,y=hanshu(a,b);x=a+b;y=a*b;执行时,需要在Command Window 中敲入x=2;y=3;m,n=hanshu(x,y)12.一个整数除以3只有3种情况,要么整除,要么余1,要么余2.若整除,输出此整数是3的倍数若余1,输出此整数除以3余1若余2,输出此整数除以3余2请用两种条件语句写一个函数(一个是IF 一个是SWITCH)IF:a=input(请输入一个整数);b=mod(a,3); 求余函数if b=0 disp(此整数是3的倍数);elseif b=1 disp(此整数除以3余1);else disp(此整数除以3余2);endSWITCH:a=input(请输入一个整数);b=mod(a,3);switch(b) case 0 disp(此整数是3的倍数); case 1 disp(此整数除以3余1); case 2 disp(此整数除以3余2);end
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!