MATLAB—入门1.双击图标,进入Matlab界面(command)2.单击fileNewM—file进入编辑界面(Untitled1),进行编程之后,点击保存时可以修改文件名.必须用英文开头3.要显示运算的结果,有两种方法:(1)进入command界面,健入你定义的文件名,然后按回车键即可得到计算结果;(2)点击编辑界面上方DebugRun或箭头于是运行结果出现在command界面。一.矩阵与向量的基本运算1.矩阵(向量、数组)的输入方法矩阵的输入利用[],采取分行输入方法,例1.矩阵A=11084101731106210151的Matlab输入:A=[1,5,1,0,1;2,6,0,1,1;3,7,1,0,1;4,8,0,1,1];每个元素之间用逗号或空格,每行之间用分号.注意:行尾分号的作用在于运算结果不显示.n维行(列)向量可以看成是一个行(列)矩阵,因此向量的输入和矩阵一样.2.矩阵的合成与分解求A的第一行与第一列解:A1=A(1,:)表示矩阵A的第一行;A2=A(:,1)表示矩阵A的第一列;练习:A(4,:),A(3,2),分别表示什么?例2.矩阵A=11084101731106210151如果需要两行(列)以上怎么表示呢?例3.求矩阵A的第1,3,4行元素组成的矩阵.解:首先健入a=[1,3,4];然后健入B=A(a,:)即可其中a=[1,3,4]称为索引向量.练习:求矩阵A的第1,3,4列元素组成的矩阵例4.求从矩阵A中去掉第1,2列后,剩余元素组成的矩阵.解:a=[3,4,5];B=A(:,a);注意:3:5表示从3开始按步长为1增加到5.B=101011101011可以写为B=A(:,3:5);练习:求从A中去掉2,5两行后所得到的子矩阵解法一:a=[1,3,4];B=A(a,:)解法二:B=[A(1,:);A(3,:);A(4,:)]3.矩阵的加减法、乘法、转置与求逆运算等A+B,A-B,A*B,A.^2,A’,inv(A),det(A)分别表示:A,B的和,差,积,点乘方,转置,求逆以及A的行列式B=151013710148011注意:这里用分号和逗号的区别例5.已知087654321A112211121B求:AB,B-1,B-AT,|A|解:A=[1,2,3;4,5,6;7,8,0];B=[1,2,1;1,1,2;2,1,1];a=A*B,b=inv(B),c=B-A',d=det(A)a=978211920152223b=-1/41/4-3/43/4-1/4-1/4-1/43/4-1/4c=0-2-6-1-4-6-1-51det(A)=27作业:1.自己构造两个5*6阶矩阵A与B,计算两个矩阵的加减法、乘法2.从A与B矩阵中分别提取一个4*4阶方阵C与D,求其逆运算、C与D的乘积和点乘积、点除运算等第二节线性代数运算一.矩阵的特征值与特征向量定义:设A为n阶矩阵,是一个数,若存在n阶非零向量,使得A则称是A的一个特征值,称为矩阵A对应于特征值的特征向量.注意:一个特征值可以有无穷多个特征向量,但一个特征向量只对应唯一的一个特征值,即特征值是由特征向量唯一确定的.在后续的课程中,我们将介绍特征值与特征向量在经济分析中的作用.例6.计算矩阵的特征值087654321A解:设为A的特征值,是对应于的特征向量可得:由设,A)x,x,x(T32132123211321x8x7xx6x5x4xx3x2xx0x8x7x06xx)5(4x03x2xx)1(321321321此线性齐次方程组有非零解的充要条件是系数行列式的值为零,由0AE0.3884-5.7345,-12.1229,321在MATLAB中计算矩阵X的特征值与特征向量的方法如下:[V,D]=eig(X)producesadiagonalmatrixDofeigenvaluesandafullmatrixVwhosecolumnsarethecorrespondingeigenvectorssothatX*V=V*D.D是由矩阵X的特征值组成的对角矩阵,V的每一列是对应于特征值的特征向量.例7求矩阵的特征值与特征向量163053064A解:A=[4,6,0;-3,-5,0;-3,-6,1];[V,D]=eig(A)V=00.5774-0.89440-0.57740.44721-0.57740D=1000-20001即对应的两个特征向量为:1TT2,0)8944,0.447.0(,)1,0,0(而对应的一个特征向量为:2T)5744.0,5744.0,5744.0(对应的全部特征向量为:1而对应的全部特征向量为:2100k012k21T311,1,k例8.求矩阵B,BB’的特征值、特征向量111020003B解:B=[3,0,0;0,2,0;1,1,1],[D1,V1]=eig(B),[D,V]=eig(B*B’),D=-0.2953-0.3048-0.9054-0.49540.8592-0.12770.81690.4109-0.4048V=0.70240004.956400010.3412例9.将矩阵A的行向量与列向量标准化087654321A解:A=[1,2,3;4,5,6;7,8,0];B=normr(A),C=normc(A)B=0.26730.53450.80180.45580.56980.68380.65850.75260C=0.12310.20740.44720.49240.51850.89440.86160.82960二.向量的标准化与矩阵的范数1.Matlab中将矩阵的行向量、列向量单位化的命令:normr(A),normc(A)归一化2.矩阵的范数有以下几种:(1)n=norm(A)矩阵A的普范数(2范数),=A’A的最大特征值的算术根.(2)n=norm(A,1)矩阵A的列范数(1-范数)等于A的最大列之和.(3)n=norm(A,inf)矩阵A的行范数(无穷大范数)等于A的最大行之和.(4)n=norm(A,'fro')矩阵A的Frobenius范数.()2iji,j=1NAa记为:3.方阵的谱半径:方阵A的特征值的绝对值之最大值称为A的谱半径记为:()max{||}iA上述范数之间的关系:,()(),()12222xxnxxxnxAAANAAxNAx,163053064A例10.求矩阵的谱半径2)A(由例2知矩阵A的特征值分别为1,-2。例11.计算矩阵A的各种范数12342341A=34124129n1=norm(A,1),n2=norm(A),n3=norm(A,inf),n4=norm(A,'fro')解:A=[1,2,3,4;2,3,4,1;3,4,1,2;4,1,2,9];n1=16,n2=12.4884,n3=16,n4=13.85644.向量的数量积,矢量积与范数),...,,();,...,,(2121nnyyyxxx设,称为则niiiyx1),(的数量积例如:a=[1,2,3],b=[-1,5,6],c=[1,0,1]则Matlab中数量积:dot(a,b);矢量积:cross(a,b)dot(a,b)=27,cross(a,c)=(2,2,-2)解:a,b,c的混合积为:dot(a,cross(b,c))练习:计算a,b,c的混合积)(cbaMatlab中向量a的范数为:norm(a)niinxanormxxxa1221)(),,...,,(则若例12a=[1,2,3],b=[-1,5,6],c=[1,0,1],求a,b的范数解:norm(a)=3.7417,norm(b)=7.8740练习:对例6计算:a,b夹角的余弦dot(a/norm(a),b/norm(b))解法二:dot(a,b)/norm(a)/norm(b)解法一:=0.9164思考:a,b,c三个向量那两个更接近?MATLAB提供了求均值、方差、标准差的命令.(1)均值命令mean,其调用格式m=mean(X);其中,输入X为向量,输出m为样本均值。(2)方差命令var,调用格式S=var(x);(3)标准差命令std,调用格式d=std(x)其中输入x是样本数据,输出S为方差,d为标准差.,三.向量的均值、方差、协方差与相关矩阵则有:矩阵为设,nmAmean(A)—A中各列向量的均值var(A)—A中各列向量的方差std(A)—A中各列向量的标准差另外:cov(A)—A中各列向量的协方差矩阵corrcoef(A)—A中各列向量的相关矩阵如果计算A中各行向量的均值、方差、协方差矩阵,相关矩阵,只需先将A转置即可.注意:当样本数据X是矩阵时,上述三个命令的输出将给出X的每列数据的相对应的数值.四.特殊矩阵及其应用1.E=eye(n):表示n维单位矩阵,E=eye(m,n):表示主对角元素为1,其余元素为零的矩阵.nm例如:eye(3)=;100010001001001)2,3(eye2.A=ones(n,m):表示元素全为1的n×m矩阵3.A=zeros(n,m):产生n×m维零矩阵4.A=rand(n,m):产生n×m维随机矩阵(元素在0~1之间)例13.下表是全国5个主要湖泊的实测数据指标湖泊总磷(mg/L)耗氧量(mg/L)透明度(m)总氮(mg/L)杭州西湖13010.300.352.76武汉东湖10510.700.402.0青海湖201.44.50.22巢湖306.260.251.67滇池2010.130.500.231.试用矩阵A表示上表所示的矩阵,2.计算每个指标与该指标平均值之差的绝对值.解:A=[130,10.3,0.35,2.76;105,10.7,0.4,2;20,1.4,4.5,0.22;30,6.26,0.25,1.67;20,10.13,0.5,0.23];mean(A)=[61.00007.75801.20001.3760]各指标的平均值为:生成一个5-by-4的矩阵B,各行都是mean(A):B=ones(5,1)*mean(A),然后得到所求矩阵C为:C=abs(A-B)=69.00002.54200.85001.384044.00002.94200.80000.624041.00006.35803.30001.156031.00001.49800.95000.294041.00002.37200.70001.1460为什么?怎样生成?生成一个5-by-4的矩阵B,各行都是mean(A)还有如下方法:B=a(ones(5,1),:),其中a=mean(A)练习:将各指标与该指标的最大值相减,然后再比上该指标的极差.提示:max(A):表示矩阵A中各列向量的最大值;min(A):表示矩阵A中各列向量的最大值;range(A)=max(A)-min(A):表示各列极差.作业:087654321A1.求矩阵A的特征值、特征向量、普范数2.A中各行向量夹角余弦,判别哪两个行向量最接近3.将A的各元素减去各行的均值再比上各列的方差