MATLAB上机操作题.doc
实验一 MATLAB基本操作一、目的和要求(1) 熟练掌握MATLAB变量的使用。(2) 熟练掌握矩阵的创建。(3) 熟练掌握MATLAB的矩阵和数组的运算。二、内容和步骤1 创建矩阵矩阵是包括个元素的矩阵结构,矩阵中的元素可以是实数或复数,单个元素构成的标量以及多个元素构成的行向量和列向量都是矩阵的特殊形式。下面用多种方式创建矩阵。(1) 直接输入。 例:>> a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9练习:从键盘输入一个的矩阵,矩阵元素自己定义,变量名定义为m1。(2) 用from:step:to方式。 例: >> a=1:3 ; 4:6 ; 7:9a = 1 2 3 4 5 6 7 8 9练习:从键盘输入一个向量,用from:step:to方式,要求从零开始,步长为1.5,到20结束,变量名定义为m2。(3) 用linspace函数。 例: >> a=linspace(1,3,3);linspace(4,6,3);linspace(7,9,3)a = 1 2 3 4 5 6 7 8 9练习:使用logspace函数创建的行向量,有20个元素,查看其元素分布情况,变量名定义为m3。(4) 使用matlab内部函数创建矩阵。 例: >> a=ones(3)a = 1 1 1 1 1 1 1 1 1练习:建立一个的正态分布矩阵,要求其均值为2,方差为2,变量名定义为m4。2矩阵的操作 (1)矩阵元素的提取。 例:>> a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9提取元素8,可输入a(3,2)或a(6)。练习:建立一个的对角阵,提取它的第三列元素,并将矩阵的第四列元素改为全1。 (2)矩阵的裁剪和拼接。 例:>> a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9>> b=2 3 4;5 6 7;8 9 10b = 2 3 4 5 6 7 8 9 10>> c=cat(1,a,b)c = 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 10>> c=cat(2,a,b)c = 1 2 3 2 3 4 4 5 6 5 6 7 7 8 9 8 9 10>> c(:,3:5)=c = 1 2 4 4 5 7 7 8 10练习:建立两个任意的矩阵,将它们沿着第二维拼接成一个新矩阵,并将新矩阵的第3列和第5列删除。3矩阵的运算(请同学们看懂例题,动手做一做,以后能够灵活运用)MATLAB的矩阵运算功能是非常强大的,提供了对矩阵的加、减、乘、除等基本运算,以及矩阵的转置、求矩阵值、矩阵分解等功能。(1) 利用矩阵除法解线性方程组。将方程表示为AX=B,计算X=AB。程序如下:>> a=2 -3 0 2;1 5 2 1;3 -1 1 -1;4 1 2 2a = 2 -3 0 2 1 5 2 1 3 -1 1 -1 4 1 2 2>> b=8;2;7;12;>> x=abx = 3.0000 0.0000 -1.0000 1.0000(2) 利用矩阵的基本运算求解矩阵方程。已知矩阵A和B满足关系式,其中,计算矩阵B。解: 程序如下:>> A=1/3 0 0;0 1/4 0;0 0 1/7A = 0.3333 0 0 0 0.2500 0 0 0 0.1429>> B=inv(A)*inv(inv(A)-eye(3)*6*AB = 3.0000 0 0 0 2.0000 0 0 0 1.0000验证关系式:>> inv(A)*B*Aans = 3.0000 0 0 0 2.0000 0 0 0 1.0000>> 6*A+B*Aans = 3.0000 0 0 0 2.0000 0 0 0 1.0000(3) 计算矩阵的特征值和特征向量。已知矩阵,计算其特征值和特征向量。程序如下:>> x=1 2 0;2 5 -1;4 10 -1x = 1 2 0 2 5 -1 4 10 -1>> v,d=eig(x)v = -0.2440 -0.9107 0.4472 -0.3333 0.3333 0.0000 -0.9107 -0.2440 0.8944d = 3.7321 0 0 0 0.2679 0 0 0 1.0000验证特征值和特征向量与该矩阵的关系xv=dv:>> x*vans = -0.9107 -0.2440 0.4472 -1.2440 0.0893 -0.0000 -3.3987 -0.0654 0.8944>> d*vans = -0.9107 -3.3987 1.6690 -0.0893 0.0893 0.0000 -0.9107 -0.2440 0.8944课后综合练习:1、 利用diag等函数产生下列矩阵:然后利用reshape函数将它们变换成行向量。2、利用矩阵除法解线性方程组。3、 已知: 求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位阵)(2) A*B和A.*B(3) A3和A.3(4) A/B及BA(5) A,B和A(1,3,:);B2同学们注意观察结果。To get started, select MATLAB Help or Demos from the Help menu.The element type "name" must be terminated by the matching end-tag "</name>".Could not parse the file: c:matlab7toolboxccslinkccslinkinfo.xml>> m1=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16m1 = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16>> m2=0:1.5:20m2 = Columns 1 through 10 0 1.5000 3.0000 4.5000 6.0000 7.5000 9.0000 10.5000 12.0000 13.5000 Columns 11 through 14 15.0000 16.5000 18.0000 19.5000>> m3=linspace(0,4*pi,20)m3 = Columns 1 through 11 0 0.6614 1.3228 1.9842 2.6456 3.3069 3.9683 4.6297 5.2911 5.9525 6.6139 Columns 12 through 20 7.2753 7.9367 8.5980 9.2594 9.9208 10.5822 11.2436 11.9050 12.5664 To get started, select MATLAB Help or Demos from the Help menu.The element type "name" must be terminated by the matching end-tag "</name>".Could not parse the file: h:matlab7toolboxccslinkccslinkinfo.xml>> m4=sqrt(2)*randn(4)+2m4 = 1.3883 0.3786 2.4629 1.1680 -0.3555 3.6842 2.2470 5.0875 2.1772 3.6817 1.7360 1.8071 2.4068 1.9468 3.0264 2.1611>> m5=1:4;5:8;9:12;13:16m5 = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16>> a(1:4,3)? Undefined command/function 'a'.>> m5=1:4;5:8;9:12;13:16;>> m5=(:,3)? m5=(:,3) |Error: Missing variable or function.>> m5=1:4;5:8;9:12;13:16;>> m5(:,3)ans = 3 7 11 15>> m5(1:4,4)=1m5 = 1 2 3 1 5 6 7 1 9 10 11 1 13 14 15 1>> a=1:4;5:8;9:12;13:16a = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16>> b=0,2,4,6;1,3,5,7;2,4,6,8;3,5,7,9b = 0 2 4 6 1 3 5 7 2 4 6 8 3 5 7 9>> c=cat(2,a,b)c = 1 2 3 4 0 2 4 6 5 6 7 8 1 3 5 7 9 10 11 12 2 4 6 8 13 14 15 16 3 5 7 9>> c(:,3,5)ans = 3 0 7 1 11 2 15 3>> c(:,3,5)=c = 1 2 4 2 4 6 5 6 8 3 5 7 9 10 12 4 6 8 13 14 16 5 7 9>>