当前位置:文档之家› matlab所有实验及答案

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([4 3],2,3) [i,j]=ind2sub([4 3],10)find(Y==100) sub2ind([4 3],3,2)B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y)2、 建立一个数值范围为0—100内4*5的整数随机矩阵。

求出大于50的元素的位置。

解:命令为:G=int8(100*rand(4,5)) find(G>50)3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -10;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为:A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=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 、c<d ,c&d, c|d ,~c|~d 解:命令为:a=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7] b=a(:,[1 2]) c=a([1 2],:) d=b ’ e=a*b f=c<d g=c&d h=c|d i=~c|~d6、 使用函数,实现A 到B 、C 、D 、E 的转换A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡129631185210741 B=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡321654987121110 C=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡101112789456123,D=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡369122*********E=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡126311521041 解:命令为:A=[1 4 7 10;2 5 8 11;3 6 9 12] B=rot90(A) C=rot90(A,3) D=fliplr(A) A(:,3)=[] E=A7. 矩阵A=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-410091021.5823.1204450002,用函数取出列向量⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡100845和矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡410091001.582004450002 解:命令为:A=[2 0 0 0;45 4 0 12.3;2 8 5.2 -2;0 91 100 4] 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=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎦⎤⎢⎣⎡i 2189241001abc ’‘,并求出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. 求多项式10235x p(x)235++-=x x ,在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=[-1 10 26 8;-9 4 0 12.3;45 0 5 -2;0 -2 32 -7] [X,D]=eig(A) t=eig(A)并求拟合多项式系数向量。

解:命令为: x=[21 22 23 24] format longy=[0.35537 0.37461 0.39073 0.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=[90 89 91 82 75;88 82 85 89 95;79 89 93 82 76;91 89 87 79 85;90 79 78 91 82;86 85 84 89 88;89 91 79 90 94;75 85 95 90 87;85 78 75 90 89;98 89 87 86 80] a=max(Y) b=min(Y) c=mean(Y,1) format short f=mean(Y ,2)*5 t=max(f) h=min(f) 或n=sum(Y ,2) a=max(n) b=min(n)6. 用数值方法解线性方程组⎪⎪⎩⎪⎪⎨⎧=+-=-++=-+--=+-+1129312243134945256u y x u z y x u z y x u z y x 解:命令为:A=[6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 2 0] b=[-4 13 1 11]' X=A\b7、 求方程,1025=+x x x 在x=1附近的根。

解:命令为:fsolve('x*5^x+2*x-10',1)实验四:程序设计注意:要用M 文件实现,一道题,一个M 文件,命令文件或者函数文件自选 1. 求!201∑=n n解:命令文件为 sum=0; s=1;for n=1:20 s=n*s;sum=sum+s; end sum2. 求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。

例如:输入a=3,n=4, 则s4=3+33+333+3333 解:命令文件为sum=0; s=0;a=input('请输入a 的值:') n=input('请输入n 的值:') for i=1:ns=s+a*10^(i-1); sum=sum+s;end sum3. 计算下列分段函数的值:⎪⎩⎪⎨⎧>≤<-≤=1021054350)(x xx x x x f解:命令文件为x=input('输入x 的值:') if x<=5 f=0;elseif x>5&x<=10 f=(x-3)/4.0; elsef=2*x; endf4. 有一群鸡和兔子,加在一起头的数量是36,脚的数量是100,编程序解答鸡和兔子数量各是多少? 解:命令文件为 for x=0:36for y=0:36-xif (x+y==36)&(2*x+4*y==100) disp('鸡有:') disp(x)disp('兔子有') disp(y) end end end5. 产生20个两位随机整数,输出其中小于平均值的奇数。

解:命令文件为disp('随机矩阵为:') A=randint(1,20,[10,99]) Aver=mean(A)disp('小于平均值的奇数为:') for k=Aif (k<aver)&rem(k,2)==1 disp(k) end end实验五:符号计算 1.(1)化简表达式2cos22sin f x x =+ (2)对表达式624--x x 进行因式分解。

解:命令文件为 syms xf1=cos(2*x)+(sin(x))^2 f2=x^4-x^2-6 t1=simple(f1) t2=factor(f2) 2.求下列极限值 (1)0sin 2limsin 5x x x -> (2)x →∞解:命令文件为 syms xf1=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)x dx x x x dx+-+⎰⎰解:命令文件为: syms xf1=x^4/(1+x^2) f2=3*x^2-x+1 t1=int(f1,x)t2=int(f2,x,0,2) 4.分别求cos x x 得一阶导数、二阶导数和三阶导数 解:命令文件为: syms x f=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)21491610000n s x x x nx s =+++=++++解:命令文件为: syms x n m s1=n*x^n s2=n^2t1=symsum(s1,n,1,n) t2=symsum(s2,n ,1,100)6. 求表达式322311x x x +-+ 在x=1.723处的,精度为20位的代数值 解:命令文件为: syms xf=(3*x^3+x^2-1)/(x^2+1) t1=subs(f,'x','1.723') t2=vpa(t1,20) 7.求方程组222602x y z x xz z y x y z z ++=⎧⎪-+=⎨⎪+-=⎩的解 解:命令文件为: syms x y z s1=x+6*y+zs2=x^2-2*x*z+z-y s3=x^2+y-z-z^2[x,y,z]=solve(s1,s2,s3)实验六 绘图21.绘制行向量( 1 8 6 5 4)的图形。

相关主题