‘%’为注释命令窗口若输入A=[123;456;7810]按下回车键后显示如下A=1234567810清除命令窗口clc这并不清除工作空间,只是清除了显示禁止结果的显示:在命令后加上分号,则屏幕上不会立即显示出结果这在运算大的数据量时十分有用,如下命令产生100*100的幻方:A=magic(100);长命令行如想另起一行输入命令,在末尾加上...即可,如:s=1–1/2+1/3–1/4+1/5–1/6+1/7...–1/8+1/9–1/10+1/11–1/12;可用who或whos来察看当前工作空间中有哪些变量,如:whosNameSizeBytesClassA4x4128doublearrayD3x5120doublearrayM10x140cellarrayS1x3628structarrayh1x1122chararray保存、重载工作空间你可以将工作空间保存为一个二进制的M文件,以后还可以恢复回来:savejune10也可只保存工作空间中的部分变量值savejune10xyz重载时只需输入loadjune10对于查找路径中的文件,what显示当前目录下的文件,加上路径后可显示输入的路径下所有的MatLab文件.如:whatmatlab\elfun(显示matlab\elfun路径下的所有函数)以下二命令分别显示、编辑m文件typerankeditrank(如果rank.m文件不存在,会有相应的提示)2.1矩阵的创建x=[123]%一维1x3阵列x=[123;456]%二维2x3矩阵,以;区隔各列的元素x=[123%二维2x3矩阵,各列的元素分二行键入456]%矩阵的尺寸不必预先定义假设要计算y=sin(x),0=x=π而x=0,0.2π,0.4π,...,π,即可用数组方式运算,例如x=[00.2*pi0.4*pi0.6*pi0.8*pipi]%注意数组内也可作运算x=00.62831.25661.88502.51333.1416y=sin(x)y=00.58780.95110.95110.58780.0000要找出数组的某个元素或数个元素,可参考以下的例子x(3)%第三个x的元素ans=1.2566y(5)%第五个y的元素ans=0.5878x(1:5)%列出第一到第五个x的元素ans=00.62831.25661.88502.5133y(3:-1:1)%列出第三到第一个y的元素,3为起始值,1为终止值,-1为增量ans=0.95110.58780x(2:2:6)%列出第二到第六个x的元素,2为起始值,6为终止值,2为增量ans=0.62831.88503.1416y([4251])%列出y元素,排列元素依序为原来y数组的4,2,5,1个ans=0.95110.58780.58780(1)利用冒号表达式获得子矩阵①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。(2)利用空矩阵删除矩阵的元素在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clearX不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。3.建立大矩阵大矩阵可由方括号中的小矩阵建立起来。例如A=[123;456;789];C=[A,eye(size(A));ones(size(A)),A]C=123100456010789001111123111456111789在命令窗口创建简单的数值矩阵在命令窗口输入:x=[123;456;789]x=1234567892.1.2通过M文件创建矩阵当矩阵的尺寸较大时,直接在命令窗口输入矩阵元素,容易出错误且不便修改。为了解决此问题,可以先将矩阵按创建原则写入一个M文件中,在MATLAB的命令窗口或程序中直接执行该M文件,即将矩阵调入工作空间。创建0到2*π间的正弦函数矩阵。x=0:pi/4:2*pi;y=sin(x)y=Columns1through500.70711.00000.70710.0000Columns6through9-0.7071-1.0000-0.7071-0.0000产生两个3*3的矩阵。A=pascal(3)A=111123136B=magic(3)B=8163574923*2的随机矩阵:C=fix(10*rand(3,2))C=942867列矩阵,行矩阵,以及常数的表达:u=[3;1;4]v=[20-1]s=7产生的矩阵是:u=314v=20-1s=7两个矩阵分别为[123;456;789]和[111;222;333],求两者相加的和。a=[123;456;789];b=[111;222;333];c=a+b结果为:c=234678101112两个矩阵分别为[123;456;789]和[111],阶数不同,求两者相减的差。a=[123;456;789];b=[111];c=a-b???Errorusing==-Matrixdimensionsmustagree.两个矩阵相乘,矩阵a为[123;456;789],矩阵b为[123],分别计算c=a*b和d=b*a。a=[123;456;789];b=[123];c=a*b???Errorusing==*Innermatrixdimensionsmustagree.将第三句c=a*b改成d=b*a,再运行一次结果为:c=303642两个数组相乘%在命令窗口输入两数组,计算c=a.*b:a=[123];b=[456];c=a.*b结果为:c=41018在通常情况下,x=a\b是a*x=b的解,x=b/a是x*a=b的解。一般情况下,a\b不等于b\a。两个矩阵相除,矩阵a和b均为3×3阶矩阵。a=rand(3)a=0.95010.48600.45650.23110.89130.01850.60680.76210.8214b=rand(3)b=0.44470.92180.40570.61540.73820.93550.79190.17630.9169c=a/bc=1.7993-2.00591.74821.3530-0.4548-0.11440.27440.66730.0936d=b\ad=3.2912-0.06013.45610.44000.1830-0.2760-2.26530.8479-2.0362数组的除法用符号”.\”或”./”表示(两者的结果相同),a与b必须具有相同的阶数。a.\b表示b中的元素分别除以a中的对应元素。求两数组的除法。a=[123];b=[456];c=a.\bc=4.00002.50002.0000c=b./ac=4.00002.50002.0000矩阵a为[12;34],求它的1.5次幂。a=[12;34];c=a^1.5结果为:c=2.9746-0.1729i4.3352+0.0791i6.5028+0.1186i9.4774-0.0543i数组a为[123],数组b为[456],求数组的幂c=a.^b。a=[123];b=[456];c=a.^b结果为:c=132729数组a为[123],求数组的幂c=a.^2。a=[123];c=a.^2结果为:c=149数组a为[123],求数组的幂运算c=2.^a。a=[123];c=2.^a结果为:c=248矩阵的转置用符号“’”来表示和实现矩阵a为[123;456;789],计算a的转置。a=[123;456;789];c=a'结果为:c=147258369如果输入矩阵a是复数矩阵,则a’为它们的复数共轭转置,若要进行非共轭转置运算,使用a.’或conj(a’)。矩阵a为[1+2i3+4i],计算a的转置。a=[1+2i3+4i];c=a'c=a.'结果为:c=1.0000-2.0000i3.0000-4.0000ic=1.0000+2.0000i3.0000+4.0000ic=conj(a')结果为:c=1.0000+2.0000i3.0000+4.0000i矩阵a和b均为1×3阶矩阵,使用关系运算符对对应元素进行比较。a=[0-12];b=[-312];abans=010a=bans=011abans=100a=bans=101a==bans=001a~=bans=110关系运算符通常用于程序的流程控制中,常与if、while、for、switch等控制命令联合使用。矩阵a和b均为2×3阶矩阵,使用逻辑运算符计算对应元素。a=[103;0-16];b=[-100;050.3];a&b;a|b;~a;~b1、ans=1000112、ans=1010113、ans=0101004、ans=011100产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。(1)生成5阶随机方阵A。A=fix(100*rand(5)+10)(2)判断A的元素是否可以被3整除。P=rem(A,3)==0矩阵a为[123;456;789],计算a的特征值和特征矢量。a=[123;456;789];[c,d]=eig(a)c=-0.2320-0.78580.4082-0.5253-0.0868-0.8165-0.81870.61230.4082对于严重病态的矩阵,其逆函数可能是伪解,此时应使用伪逆函数。d=16.1168000-1.1168000-0.0000矩阵a为[123;456;789],计算a的逆矩阵和伪逆矩阵。a=[123;456;789];c=inv(a)c=pinv(a)Warning:Matrixisclosetosingularorbadlyscaled.Resultsmaybeinaccurate.RCOND=1.541976e-018.c=1.0e+016*-0.45040.9007-0.45040.9007-1.80140.9007-0.45040.9007-0.4504c=-0.6389-0.16670.3056-0.05560.00000.05560.52780.1667-0.1944矩阵a为4阶pascal矩阵,将其重新排列为1×16阶的一维矢量和2×4×2阶的三维数组。a=pascal(4)c=reshape(a,1,16)c=reshape(a,2,4,2)矩阵a为2010411063143211111,分别将其左右翻转、上下翻转。矩阵a为4阶pascal矩阵,可在命令窗口由函数创建,分别计算c=fliplr(a)、c=flipud和c=rot90(a)。a=pascal(4)a=1111123413610141020c=fliplr(a)c=1111432110631201041c=flipud(a)c=1410201361012341111c=rot90(a)c=1410201361012341111输入系数矢量,创建多项式。23423xxx在命令窗口输入系数矢量,并转换为多项式。poly2sym([1-432])求矩阵087654321的特征多项式系数,并转换为多项式。在命令窗口输入矩阵,求特征多项式系数并转换为多项式形式。a=[123;456;780];p=poly(a)poly2sym(p)根据根矢量[-0.5–0.3+0.4i–0.3+0.4i]创建多项式。在命令窗口输入根矢量,并创建多项式:r=[-0.5-0.3+0.4i-0.3-0.4i];p=poly(r