您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > (补充章) Matlab操作方法
1.介绍MATLAB的基本语法和常用函数2.距阵的加减乘除和点乘3.绘图4.数据拟和第2章基本语法变量=表达式;%注释=将表达式的值赋予变量。当键入回车键该语句被执行。语句执行之后,窗口自动显示出执行结果。;结果不被显示,但它依然被赋值并在MATLAB工作空间中分配了内存。,隔开写在一行的多行命令。%后为注释,不执行MATLAB语句形式2.1变量及其赋值标识符变量名,常量名19个字符函数名,文件名8个字符英文字母(大小写区分),阿拉伯数字和下划线组成,第一个字符必须是英文字母COMMAND:casesenoff,不区分大小写casesenon,区分大小写数NUMBERS数据格式:双精度二进制显示格式:8种COMMAND:formatformatshort:短格式(4位小数)99.1253formatlong:长格式(15位定点数99.12345678900000formatshorte:短格式e方式9.9123e+001formatlonge:长格式e方式9.912345678900000e+001formatbank:2位十进制99.12formathex:十六进制格式复数虚数Imaginarynumbers用i或j做后缀suffix标准变量和常量pi3.14159265…i,j虚数单位,Ã-1eps浮点相对精度2-52realmin最小正实数,2-1022realmax最大正实数(2-e)21023inf无穷大(1/0)infinitynan不定量(0/0)Not-a-numberans:上一个缺省变量值运算符Operators+addition,–subtraction*multiplication/division,\leftdivision^power'complexconjugatetransposerelationaloperators:,,=,=,==logicaloperators:&(and),|(or),~(not),xor异或(1)用键盘在MATLAB指令窗中输入以下内容(12+2*(7-4))/3^2(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans=2【例2.1】简单的算术运算结果【例2.2】指令的续行输入(以下格式在除Notebook外的MATLAB环境中可运行)S=1-1/2+1/3-1/4+1/5-1/6...+1/7-1/8S=0.6345常用数学函数abs(x),sin(),cos(),tan(),asin(),acos(),atan()sqrt(),exp(),imag(),real(),log(),log10(),conj()(共扼复数)向量的生成:用线性等间距生成向量矩阵[start:step:end]其中start为起始值,step为步长,end为终止值。当步长为1时可省略step参数;另外step也可以取负数。》a=1:2:10ans=13579冒号TheColonOperator1:10%增量为1ans=12345678910100:-7:50ans=100938679726558510:pi/4:pians=00.78541.57082.35623.1416对数空间上的行量a=logspace(n1,n2,n)•在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。这个指令为建立对数频域轴坐标提供了方便。》a=logspace(1,3,3)a=101001000变量和常量在MATLAB都视为矩阵,包括向量VECTOR,标量SCALAR.amatrixisarectangulararrayofnumbers.COMMAND:变量名=表达式(或数)2.2矩阵Matrices及其元素的赋值矩阵的创建对于(4×3)阶矩阵可以通过以下几种方法来创建,考虑到元素α11、α12和α13的组合可以创建向量v1:111213212223313233414243(43)1111213v类似的方法可以创建其他3个向量v2、v3、v4:即:用这4个向量可以创建矩阵α:]其中分号表示行的结束。每行必须具有相同的列数。这种表达式也可以用下面的方法直接创建:221222333132334414243[][][]vvv1234[;;;vvvv或采用更为形像的描述方法:其中省略号(…)是必需的。最后,矩阵的创建还可以通过在每一行的末尾处按下Enter键来完成。例如:111213212223313233414243[;;;][111213212223313233414243];aaaaaaaaaaaaa注意:以上几种形式中,aij可以是数值、变量、表达式和字符串。如果是变量或表达式,则执行该语句前一定要首先通过用户输入或通过前面执行的表达式对变量或由变量组成的表达式进行赋值。表达式和变量可以任意组合形式出现。如果是字符串,则每一行中的字母个数应相同。例如:A=[163213;510118;96712;415141]A=16321351011896712415141函数magic用于产生特殊矩阵,即矩阵中任意行或任意列中元素之和,以及两条对角线上的元素之和都相等。Whyisitmagic?求和sum,转置transpose,and对角线diagsum(A)%计算A阵各列元素的和ans=34343434diag(A)%获取主对角线diagonal的元素ans=161071sum(diag(A))%求对角线上元素之和ans=34fliplr(A)%fliplr将矩阵从左到右翻转ans=13231681110512769114154下标SubscriptsA(i,j)表示A的i行j列,例如A(4,2)就是15.A(1,4)+A(2,4)+A(3,4)+A(4,4)%求4列的和ans=34单下标A(k),用于二维矩阵,则将矩阵视为一个长列向量,从第1列的A(1,1)开始的各列元素,从上到下一列一列的排顺序,如A(8)就是A(4,2)的另一种表示方法.矩阵下标里的冒号sum(A(1:4,4))%计算第4列前4行元素sum(A(:,end))%如果只要冒号本身,则代表矩阵行或列的所有元素,end代表最后一行或列ans=34sum(A(1:16))/4ans=34给超出矩阵维数的元素赋值,矩阵自动调节新的值例如:t=A(4,5)???Indexexceedsmatrixdimensions错误,超出矩阵维数X=A;X(4,5)=17%可以给超出矩阵维数的元素赋值,矩阵自动调节新的值X=1632130510118096712041514117B=magic(4)%magic函数B=16231351110897612414151A=B(:,[1324])%A阵按B阵的1,3,2,4列放置A=16321351011896712415141空矩阵[]的用法:删除某行列X=A;X(:,2)=[]%用[]删除,删掉第2列X=16213511897124141删除某元素X(1,1)=[]???Indexedemptymatrixassignmentisnotallowed.错误不能删除矩阵的某一元素X(2:2:10)=[]%单下标可以删除某元素resultsinX=1692713121基本矩阵zeros:全0阵zerosones:全1阵onesrand:均分布随机矩阵randomrandn正态分布normallydistributed随机矩阵非常有用的函数,可以用于生成矩阵的元素:Z=zeros(2,4)Z=00000000F=5*ones(3,3)F=555555555N=rand(1,10)N=Columns1through70.61540.79190.92180.73820.17630.40570.9355Columns8through100.91690.41030.8936B=fix(10*N)%fix取整B=6797149949矩阵的逆inv(A)A=[123;149;8101]inv(A)ans=8.6000-2.8000-0.6000-7.10002.30000.60002.2000-0.6000-0.2000其他输入数据方法load用TXT文本编辑数据,并存为magik.dat16.03.02.013.05.010.011.08.09.06.07.012.04.015.014.01.0用loadmagik.dat矩阵的初等运算1、转置对于实矩阵用(')符号或(.')求转置结果是一样的;对于含复数的矩阵,(')则将同时对复数进行共轭处理,而(.')则只是将其排列形式进行转置。》a=[123;456]'a=142536》a=[123;456].'a=142536对于复数》b=[1+2i2-7i]'b=1.0000-2.0000i2.0000+7.0000i》b=[1+2i2-7i].'b=1.0000+2.0000i2.0000-7.0000i2、四则运算与幂运算+、-、*、\、/、^;.*、.\、./、.^•只有维数相同的矩阵才能进行加减运算。•只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘法运算。•a\b运算等效于求a*x=b的解(a-1b);•a/b等效于求x*b=a的解((a’\b’)’)。•只有方阵才可以求幂。•点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。2X1+3X2=74X1+X2=9a=[23;41],b=[7;9];x=a\bx=21【例2.5】求解下列方程组:a=[12;b=[35;34];59]3、矩阵的大小[m,n]=size(A,x):返回矩阵的行列数m与n,当x=1,则只返回行数m,当x=2,则只返回列数n。length(A)和max(size(A)):返回行数或列数的最大值。【例2.6】a=[123;345][m,n]=size(a)length(a)m=2n=3ans=3max(size(a))ans=3点运算:本节介绍MATLAB中的点(.)运算。在MATLAB中点运算是对同阶矩阵中逐个元素进行的算术运算。考虑下面的(3×4)阶矩阵和111213142122232431323334xxxxxxxxxxxxx111213142122232431323334mmmmmmmmmmmmm111112121313141421212222232324243131323233333434mxmxmxmxmzxmxmxmxmxmxmxmxmxm点除,点指数:即111112121313141421212222232324243131323233333434/////////////dxmxmxmxmzxmxmxmxmxmxmxmxmxm111112121313141421212222232324243131323233333434dxmxmxmxmzxmxmxmxmxmxmxmxmxm也可以表示为:当=标量常数时,则:{(,)(,)(,)}/{(,)(,)/(,)}{(,)(,)(,)}mijijijdijijjmeijijzxmzmijxijmijzxmizdijxijmijjzxijzeijxijmij或或或0xmxm0mm例子:为说明指数的点运算,考虑计算2.^j,其中j=1,2,…,8。程序为:x=1:8;结果为:248163264
本文标题:(补充章) Matlab操作方法
链接地址:https://www.777doc.com/doc-3830712 .html