matlab所有实验及答案实验二习题1、矩阵Y=????????????3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵??????21301,并求该矩阵的维数。解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3]Y(2,3)Y(10)sub2ind([43],2,3)[i,j]=ind2sub([43],10)find(Y==100)sub2ind([43],3,2)B=Y(2:2:4,3:-2:1)或B=Y([24],[31])[mn]=size(Y)2、建立一个数值范围为0—100内4*5的整数随机矩阵。求出大于50的元素的位置。解:命令为:G=int8(100*rand(4,5))find(G50)3、已知矩阵A=[10-1;241;-205],B=[0-10;213;112]求2A+B、A2-3B、A*B、B*A、A.*B,A/B、A\B解:命令为:A=[10-1;241;-205]B=[0-10;213;112]E=2*A+BF=A^2-3*BG=A*BH=B*AI=A.*BJ=A/BK=A\B4、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。解:命令为:A=eye(3,4)B=8*ones(4)C=A*B5、创建矩阵a=????????????------7023021.5003.120498601,取出其前两列构成的矩阵b,取出前两行构成矩阵c,转置矩阵b构成矩阵d,计算a*b、ca=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7]b=a(:,[12])c=a([12],:)d=b’e=a*bf=c6、使用函数,实现A到B、C、D、E的转换A=??????????129631185210741B=????????????321654987121110C=????????????101112789456123,D=??????????369122*********E=??????????126311521041解:命令为:A=[14710;25811;36912]B=rot90(A)C=rot90(A,3)D=fliplr(A)A(:,3)=[]E=A7.矩阵A=????????????-410091021.5823.1204450002,用函数取出列向量??????????100845和矩阵????????????410091001.582021450002解:命令为:A=[2000;454012.3;285.2-2;0911004]B=diag(A)C=tril(A)8.建立5阶魔方矩阵,求该矩阵的行列式和逆矩阵、迹以及any和all运算结果。建立一个M文件保存起来并练习调用。解:命令文件为:A=magic(5)x=det(A)B=inv(A)C=trace(A)D=any(A)E=all(A)实验三习题1.创建2*2元胞数组A=??????????+??????i2189241001abc’‘,并求出1001;创建结构数组student,要求包含三个属性名:姓名,学号,年龄,分别存放张三,10021、20李四、10022、18王五、10023、19,并写出取得李四学号的操作。解:命令为:A={'abc',[1001;24];89,1+2i}x=A{1,2}(1,1)student=struct('name',{'张三';'李四';'王五'},'number',{10021;10022;10023},'age',{20;18;19})student(2,1).number2.求多项式10235xp(x)235++-=xx,在3.12=x时的值,和p(x)=0时候的根。解:命令为:p=[5,0,-3,2,0,10];poly2sym(p)x=polyval(p,12.3)y=roots(p)3.已知矩阵A=????????????-----73220250453.12049826101,求A的特征值,特征向量。解:命令为:A=[-110268;-94012.3;4505-2;0-232-7][X,D]=eig(A)t=eig(A)估算x=21.5时的近似值,用三次多项式拟合正弦曲线,并求拟合多项式系数向量。解:命令为:x=[21222324]formatlongy=[0.355370.374610.390730.40674]interp1(x,y,21.5,'nearest')[P,S]=polyfit(x,sin(x),3)(P是一个长度为N+1的向量,代表N次多项式,S是采样点的误差向量。)5.将10个学生5门功课的成绩存入矩阵P中,进行(1)求每门课的最高分,最低分,平均分,(2)求5门课总分的最高分、最低分解:命令为:Y=[9089918275;8882858995;7989938276;9189877985;9079789182;8685848988;8991799094;7585959087;8578759089;9889878680]a=max(Y)b=min(Y)c=mean(Y,1)formatshortf=mean(Y,2)*5t=max(f)h=min(f)或n=sum(Y,2)a=max(n)b=min(n)6.用数值方法解线性方程组???????=+-=-++=-+--=+-+1129312243134945256uyxuzyxuzyxuzyx解:命令为:A=[65-25;9-14-1;342-2;3-920]b=[-413111]'X=A\b7、求方程,1025=+xxx在x=1附近的根。解:命令为:fsolve('x*5^x+2*x-10',1)实验四:程序设计注意:要用M文件实现,一道题,一个M文件,命令文件或者函数文件自选1.求!201∑=nn解:命令文件为sum=0;s=1;forn=1:20s=n*s;sum=sum+s;endsum2.求aaaaaaaaaSn++++=得值,其中a是一个数字,由键盘输入,表达式中位数最多项a的个数,也由键盘输入。例如:输入a=3,n=4,则s4=3+33+333+3333解:命令文件为sum=0;s=0;a=input('请输入a的值:')n=input('请输入n的值:')fori=1:ns=s+a*10^(i-1);sum=sum+s;endsum3.计算下列分段函数的值:?????≤xxxxf解:命令文件为x=input('输入x的值:')ifxelseifx5&xf=2*x;endf4.有一群鸡和兔子,加在一起头的数量是36,脚的数量是100,编程序解答鸡和兔子数量各是多少?解:命令文件为forx=0:36fory=0:36-xif(x+y==36)&(2*x+4*y==100)disp('鸡有:')disp(x)disp('兔子有')disp(y)endendend5.产生20个两位随机整数,输出其中小于平均值的奇数。解:命令文件为disp('随机矩阵为:')A=randint(1,20,[10,99])Aver=mean(A)disp('小于平均值的奇数为:')fork=Aif(k实验五:符号计算1.(1)化简表达式2cos22sinfxx=+(2)对表达式624--xx进行因式分解。解:命令文件为symsxf1=cos(2*x)+(sin(x))^2f2=x^4-x^2-6t1=simple(f1)t2=factor(f2)2.求下列极限值(1)0sin2limsin5xxx-(2)x→∞解:命令文件为symsxf1=sin(2*x)/sin(5*x)f2=sqrt(x^2+x)-sqrt(x^2-x)t1=limit(f1,x,0)t2=limit(f2,x,inf)3.分别计算表达式42220(1)1(2)(31)xdxxxxdx+-+??解:命令文件为:symsxf1=x^4/(1+x^2)f2=3*x^2-x+1t1=int(f1,x)t2=int(f2,x,0,2)4.分别求cosxx得一阶导数、二阶导数和三阶导数解:命令文件为:symsxf=x*cos(x)t1=diff(f,'x')t2=diff(f,'x',2)t3=diff(f,'x',3)5.求下列级数之和(提示:利用symsum(s,v,n,m)函数或者编程实现)23(1)123(2)21491610000nsxxxnxs=+++=++++解:命令文件为:symsxnms1=n*x^ns2=n^2t1=symsum(s1,n,1,n)t2=symsum(s2,n,1,100)6.求表达式322311xxx+-+在x=1.723处的,精度为20位的代数值解:命令文件为:symsxf=(3*x^3+x^2-1)/(x^2+1)t1=subs(f,'x','1.723')t2=vpa(t1,20)7.求方程组222602xyzxxzzyxyzz++=??-+=??+-=?的解解:命令文件为:symsxyzs1=x+6*y+zs2=x^2-2*x*z+z-ys3=x^2+y-z-z^2[x,y,z]=solve(s1,s2,s3)实验六绘图21.绘制行向量(18654)的图形。解:figure;A=[18654];plot(A,'--rp')2.在区间1fplot('2*exp(-0.5*x).*log10(2*pi*x)',[14-110],40,'-.m*')gridon;3.在区间1)35sin(2+x曲线,第一个子窗口的采用红色点线,并且要求坐标轴采用等刻度,第二个子窗口绿色点化线,并且要求坐标轴为正方形。解:figure;subplot(121);axisequal;fplot('sqrt(x^2-1)+x',[14],'r:')subplot(122);fplot('sin(5*x^2+3)',[14],'-.g')axissquare;4.极坐标绘制[0,2π]内r=cost+sint的图形,要求用点线,颜色会红色解:figure;t=0:pi/20:2*pi;r=sin(t)+cos(t);polar(t,r,'r:')5.绘制????????????------7023021.5003.120498601的垂直条形图和水平条形图,条形宽为1.5。解:B=[-10-68;-94012.3;005.1-2;0-230-7];subplot(121);bar(B,1.5)title‘Group1’subplot(122)barh(B,1.5)title‘Group2’6.绘制矩阵A=[123;027]的饼图,并让3和2分离出来。并给图形加上标题和x轴标签,y轴标签。解:figure;A=[123;027];explode=[011;010];pie(A,explode)title‘饼图’axisonxlabel(‘x轴’)ylabel(‘y轴’)7.x[]2,2-∈,y]2,2[-∈,自己设定步长,产生三维网格X,Y,并在一个图形窗口的四个子窗口分别绘制22yxexz--*=的三维网格图,带底座的三维网格图,三维曲面图和带等高线的三维曲面图。解:figure;[X,Y]=meshgrid(-2:0.1:2);Z=X.*exp(-X.^2-Y.^2);subplot(2,2,1)mesh(X,Y,Z)%mesh绘制三维网格图,meshz绘制带底座的三维网格图title‘三维网格图’subplot(2,2,2)meshz(X,Y,Z)title‘带底座的三维网格图’subplot(2,2,3)surf(X,Y,Z)title‘三维曲面’subplot(2,2,4)surfc(X,Y,Z)title‘带等高线的三维曲面’8.绘制三维曲线)cos(*)sin(*10xyz=,x[]ππ,-∈和y[]π,0∈,步长自己定,并显示网格。解;fig