实验一、MATLAB基本操作一、实验目的2.学习使用图形函数计算器命令funtool及其环境。3.学习使用help命令进行帮助4.掌握向量与矩阵的创建以及矩阵的基本操作5.掌握数组与矩阵的概念二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;掌握数组与矩阵的概念;学会使用help命令进行帮助;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool;1.命令窗口的简单使用(1)简单矩阵的输入(自由创建)x=[135;246]x=135246(2)求[12+2×(7-4)]÷32的算术运算结果,总结算术运算符先级[12+2*(7-4)]/3^2ans=22.有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b的区别A=15;B=20;C=A+BC=35c=a+b???Undefinedfunctionorvariable'a'.(2)设A=[123;456;789],B=[987;654;321];求A*B与A.*B,分析原因?(A*B是两个矩阵相乘,A.*B是对应元素相乘)A=[123;456;789];B=[987;654;321];A*Bans=30241884695413811490A.*Bans=9162124252421169(3)设a=10,b=20;求i=a/b与j=a\ba=10;b=20;i=a/bi=0.5000j=a\bj=2(4)设a=[1-23;45-4;5-67]请设计出程序,分别找出小于0的矩阵元素的线性索引以及行列索引(sub2ind/ind2sub)。(find())并将其单下标转换成全下标。clear,clca=[1-23;45-4;5-67];b=find(a0)[x,y]=ind2sub(size(a),find(a0))Y=sort(a,1,‘descend’)2.对矩阵按列从大到小排列(sort())(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?A=[1,2;3,4]+i*[5,6;7,8]A=3.50005.00006.50008.0000A=[1,2;3,4]+i[5,6;7,8]???A=[1,2;3,4]+i[5,6;7,8]Error:Unbalancedormisusedparenthesesorbrackets.前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[123;342;523],求a^2=?,a.^2=?a^2=221616252623262428a.^2=14991642549(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[12;89;36];X(:)转化为列向量clearX=[1,2;8,9;3,6];X(:)ans=183296(8)使用help命令,明白什么是稀疏矩阵sparse(),并用采用两种方法创建下面的稀疏矩阵(其中一种方法采用help所提供的三元组方法创建稀疏矩阵(S=SPARSE(i,j,s,m,n)))2080000104006000另:1.B=该稀疏矩阵上下反转2.该矩阵变维,C为2*8矩阵,D为3*8矩阵,C?D?方法一:clear,clcdata=[28146];ir=[11234];jc=[13421];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;aB=flipud(a)C=reshape(a,2,8)(9)学会使用图形函数计算器(funtool命令),并进行下列计算:1.求函数的符号导数y=sin(x);2.求下列函数的符号积分(1)y=1/sqrt(1-x^2);3.求两个函数之间的操作求和(1)sin(x)+cos(x)乘积(1)exp(-x)*sin(x)商(2)(1)sin(x)/cos(x);求复合函数(1)y=exp(u)u=sin(x)(10)总结who,whos,clc,clear命令三、设计提示1.初次接触Matlab应该注意函数表达式的文本式描述。2.在使用图形函数计算器funtool时,注意观察1号和2号窗口中函数的图形。3.help帮助命令的使用3.向量与矩阵的创建实验二:数组运算及线型方程组的求解二、实验内容1.“:”号的用法。用“:”号生成行向量a=[12345678910]、b=[531-1-3-5];用线性等分命令linspace重新生成上述的a和b向量。另,在100和10000之间用对数等分命令logspace生成10维的向量c。ak=logspace(2,4,10)linspace(1,10,10)linspace(5,-5,6)2.已知多项式a(x)=x2+2x+3,b(x)=4x2+5x+6,求a,b的积并微分。a=[1,2,3];b=[4,5,6];polyder(a,b)ans=16395627poly2str(ans,'x')ans=16x^3+39x^2+56x+273.生成下列矩阵,取出方框内的数组元素a(2,2:3)a(2:4,4)a(4:5,1:3)4.生成一个9×9维的魔方矩阵,提取其中心的3×3维子矩阵M,利用sum函数检验其各行和各列的和是否相等。并且实现上述中心矩阵左旋90°或右旋90°,左右翻转,上下翻转a=magic(9)b=a(4:6,4:6)b=203142304152405162sum(b,1)ans=90123156sum(b,2)ans=93123153rot90(b)rot90(b,-1)fliplr(b)flipud(b)5.已知a=[123;456;780],求其特征多项式并求其根、特征值和特征多项式a=[123;456;780]a=123456780poly(a)ans=1.0000-6.0000-72.0000-27.0000poly2sym(ans)ans=x^3-6*x^2-72*x-7599824371187741/281474976710656[dv]=eig(a)d=-0.2998-0.7471-0.2763-0.70750.6582-0.3884-0.6400-0.09310.8791v=12.1229000-0.3884000-5.73456.计算二重不定积分symsxyf=int(int(x*exp(-x*y),x),y)或x=sym('x')x=xy=sym('y')y=yf=int(int(x*exp(-x*y),x),y)f=1/y*exp(-x*y)8.求解微分方程。y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')9.求其解。12345123451234512345691411568147156294271244161111913103xxxxxxxxxxxxxxxxxxxxa=[6914-115;114-7-15-6;-21-712-1;61111-9-13]a=6914-115114-7-15-6-21-712-161111-9-13b=[68294-441103]'b=68294-441103ra=rank(a)ra=4rb=rank([a,b])rb=4%45x1=null(sym(a))x1=27713/253-11117/506-8394/25311619/506a\bans=0-26.3759-5.4126-38.3960-8.2392X=K*x1+ans实验三:二维图形和三维图形的创建一、实验目的1.掌握二维图形的绘制。2.掌握图形的标注3.了解三维曲线和曲面图形的绘制。二、实验内容1.生成1×10维的随机数向量a,在同一幅图片上分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。x=rand(1,10)x=Columns1through70.95010.23110.60680.48600.89130.76210.4565Columns8through100.01850.82140.4447subplot(141);plot(x)subplot(142);stem(x)subplot(143);stairs(x)subplot(144);bar(x)2.绘制向量x=[130.52.52]的饼形图,并把3对应的部分分离出来。x=[130.52.52];pie(x,[01000])3.用holdon命令在同一个窗口绘制曲线y=sin(t),y1=sin(t+0.25)y2=sin(t+0.5),其中t=[010]。t=0:2*pi/100:10;y1=sin(t);plot(t,y1)holdony2=sin(t+0.25);plot(t,y2)holdony3=sin(t+0.5);plot(t,y3)4.绘制曲线x=tcos(3t)y=tsin2t其中-π≤t≤π,步长取π/100。要求:要图形注解、标题、坐标轴标签,并在曲线上截取一点,将相对应的坐标值文本标注出来(ginput())。;t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*sin(t).^2;plot(x,y);title('曲线图');legend('x=tcos(3t),y=tsin^2t');xlabel('x轴数据');ylabel('y轴数据');holdon[m,n]=ginput(1)m=0.7465n=-0.4971plot(m,n,'or')text(m,n,['m=',num2str(m),'n=',num2str(n)])5.在三个子图像中,分别绘制三维曲线,三维曲面,三维网格的半径为6,坐标为(6,7,6)的由900个面构成的球面(sphere()),对每个图形标注标题[x,y,z]=sphere(30);Z=z*5+6;X=x*5+6;Y=y*5+7;subplot(1,3,1)mesh(X,Y,Z);title('三维网格')subplot(1,3,2)plot3(X,Y,Z)title('三维曲线')subplot(1,3,3)surf(X,Y,Z)title('三维曲面')6.(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。(t=0:0.01:5;x1=5*cos(2*pi*t);y1=5*sin(2*pi*t);z=t;subplot(121),plot3(x1,y1,z)gridonx2=t.*cos(2*pi*t);y2=t.*sin(2*pi*t);z=t;subplot(122),plot3(x2,y2,z)gridon思考题:如果要绘制出如图所示的图形,请先指出这四个图形分别对应哪副图,以及请正确填写下列空格subplot(6,4,[234678]);plot(1:10);gridon;subplot(6,4,[10111415]);plot(peaks);gridon;subplot(6,4,[59]);plot(membrane);gridon;subplot(6,4,[17182122]);surf(membrane);gridon;三、设计提示1.Matlab允许