《MATLAB基本操作指南》

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB基本操作指南MATLAB2014a程锐《MATLAB基本操作指南》===============================================================================一、MATLAB数据类型逻辑、数值、字符串、矩阵、元胞、java、函数句柄、稀疏以及结构等类型。数值型又分为单精度型、双精度型以及整数型。整数类型里又分为无符号型(uint8、uint16、uint32、uint64)和符号型(int8、int16、int32、int64)两种。二、MATLAB基本元素1、常量ansMATLAB中运行结果的默认变量名pi圆周率πeps计算机中的最小数flops浮点运算数inf无穷大,如1/0NaN不定值,如0/0,∞/∞,0*∞i或j、复数中的虚数单位nargin函数输入变量数目narout函数输出变量数目realmax最大的可用正实数realmin最小的可用正实数2、变量○1必须以字母开头,之后可以是任意的字母、数字或下划线;○2区分字母的大小写;○3不超过31个字符,第31个字符以后的字符将被忽略;○4分为局部变量和全局变量;○5全局变量前应加关键字global,一般来说全局变量用大写字母来表示。3、赋值语句(1)直接赋值语句赋值变量=赋值表达式【例】A=3*27%结果赋值给A3*27%结果赋值给ans【注】○1若赋值语句后面没有分号“;”,MATLAB命令窗口将显示表达式的运算结果;如果不想显示运算结果,则应该在赋值语句末尾加上分号“;”;○2若省略赋值语句左边的赋值变量和等号,则表达式运算结果将默认赋值给系统保留变量ans;○3若等式右边的赋值表达式不是数值,而是字符串,则字符串两边应加单引号。(2)函数调用语句[返回变量列表]=函数名(输入变量列表)【注】若返回变量个数大于1个,则它们之间应该用逗号或空格分隔开;若输入变量个数大于1个,则它们之间只能用逗号分隔开。【例】a=cos(pi/2)4、矩阵及元素(1)矩阵的表示矩阵的表示规则:○1必须使用方括号“[]”包括矩阵的所有元素;○2矩阵不同的行之间必须用分号或回车键隔开;○3矩阵同一行的各元素之间必须用逗号或空格隔开。【例】矩阵的基本表示A=[13;47]%空格隔开B=[1,7;4,6]%逗号隔开【例】用内置函数创建矩阵A=rand(3,4)%创建一个3行4列的随机矩阵B=ones(2,4)%创建一个2行4列的全1矩阵C=zeros(2,2)%创建一个2维全0矩阵D=magic(3)%创建一个3维魔方矩阵E=eye(3,4)%创建一个3行4列的单位矩阵【例】向量的表示a=[147]%行向量b=[1;4;7]%列向量【例】行向量的冒号表达式:格式:X=N1:step:N2step:大于零,递增;小于零,递减;直到最后一个元素与N2的差的绝对值小于等于step的绝对值为止;当不指定step时,系统默认step=1。A=1:5%A=12345B=2.6:2:11.2%B=2.64.66.68.610.6C=2.4:1.5:10%C=2.43.95.46.98.49.9【例】利用logspace及linspace函数创建向量A=linspace(1,5,8)%创建数组A=1.00001.57142.14292.71433.28573.85714.42865.0000B=logspace(1,7,9)B=1.0e+07*0.00000.00000.00000.00020.00100.00560.03160.17781.0000(2)矩阵元素表示与赋值矩阵元素的表示:A(I,j)表示矩阵A的第i行第j列的元素【例】获取矩阵A=[156;397]第2行全部元素A=[156;397]B=[A(2,1),A(2,2),A(2,3)]C=A(2,:)%取矩阵A的第2行元素D=A(:,3)%取矩阵A的第3列元素E=A(1,1:2)%取矩阵A第1行的第1~2列元素三、矩阵运算1、矩阵的代数运算(1)矩阵的算术运算加+A+B矩阵A与B对应元素相加若其中一个为标量,则另一个矩阵的所有元素加上该标量减-A-B矩阵A与B对应元素相减若其中一个为标量,则另一个矩阵的所有元素减去该标量乘*A*B矩阵A与B相乘,A与B均可为向量或标量左除\A\B方程A*X=B的解X右除/A/B方程X*A=B的解X乘方^A^B当A与B均为标量时,表示A的B次方幂当A为方阵,B为正整数时,表示A的B次乘积当A与B均为矩阵时,无定义【例】矩阵的代数运算A=[1,2,4;3,9,7;5,4,6]B=[1:3;0,11,2;6:8]A+B%矩阵加法运算,结果赋值给ansA-B%矩阵减法运算,结果赋值给ansA*B%矩阵乘法运算,结果赋值给ansA\B%矩阵左除运算,结果赋值给ansA/B%矩阵右除运算,结果赋值给ansA^3%矩阵乘方运算,结果赋值给ans(2)矩阵的运算函数size(A)获得矩阵A的行数和列数A’计算矩阵A的转置矩阵inv(A)计算矩阵A的逆矩阵length(A)计算矩阵A的长度(列数)sum(A)若A为向量,则计算A所有元素之和若A为矩阵,则产生一行向量,其元素分别为矩阵A各列元素之和max(A)若A为向量,则计算A所有元素最大值若A为矩阵,则产生一行向量,其元素分别为矩阵A各列元素的最大值min(A)若A为向量,则计算A所有元素最小值若A为矩阵,则产生一行向量,其元素分别为矩阵A各列元素的最小值【例】常用矩阵运算函数实例clearall;%清除工作空间中的所有变量X=[5,3.4,72,28/4,3.61,17,94,89];length(X)%计算X的长度size(X)%计算X的行数和列数A=magic(3)%创建一个3维魔方矩阵Ainv(A)%计算A的逆矩阵A’%计算A的转置矩阵max(X)%计算X中元素的最大值(3)矩阵元素群运算元素群运算:矩阵中的所有元素按单个元素进行运算。元素群乘.*A.*B矩阵A与B对应元素相乘A和B必须为同维矩阵或其中之一为标量元素群左除.\A.\B矩阵B除以矩阵A的对应元素A和B必须为同维矩阵或其中之一为标量元素群右除./A./B矩阵A除以矩阵B的对应元素A和B必须为同维矩阵或其中之一为标量元素群乘方.^A.^B矩阵A的各元素与矩阵B的对应元素的乘方运算运算结果C=A.^B,其中C(i,j)=A(i,j)^B(i,j)矩阵A和B为同维矩阵【例】矩阵元素群运算实例A=[38;27];B=[39;112];A.*B%矩阵A与B对应元素相乘A.\B%矩阵B除以矩阵A的对应元素A./B%矩阵A除以矩阵B的对应元素A.^3%矩阵A的各项元素的3的乘方(4)元素群函数sin正弦函数(弧度)cos余弦函数(弧度)tan正切函数(弧度)abs求实数的绝对值或复数的模sqrt平方根函数angle求复数的复角real求复数的实部imag求复数的虚部conj求复数的共轭exp自然指数函数(以e为底)log自然对数函数(以e为底)log10以10为底的对数函数【例】元素群的函数实例x=[0,pi/6,pi/4,pi/3];y=tan(x)%计算正切函数y=00.57741.00001.7321y1=cos(x)%计算余弦函数y2=log10(x)%计算以10为底的对数函数Z=[1-1i2+1i3-1i4+1i1+2i2-2i3+2i4-2i1-3i2+3i3-3i4+3i1+4i2-4i3+4i4-4i];%复数矩阵angle(Z)%求Z的复角imag(Z)%求Z的虚部abs(Z)%求Z的模2、矩阵的关系运算关系运算符主要用于比较数、字符串、矩阵之间的大小或不等式关系,其返回值为0或为1。关系操作符说明对应的函数==等于eq(A,B)~=不等于ne(A,B)小于lt(A,B)大于gt(A,B)=小于等于le(A,B)=大于等于ge(A,B)【注】表中运算符都是双操作数运算符,两个操作数是大小相同的数组,或者其中一个为标量。例如,Aa、aA(a为标量)都是有效的,其意义为A中所有元素分别与a作比较。【例】比较矩阵A、B与变量a的大小关系clearall;A=[123;458;976];B=[147;258;369];a=2;A==B%比较矩阵A与B(逐项比较,等则返回1,不等则返回0)A==a%比较矩阵A与标量a(逐项比较,等则返回1,不等则返回0)B==a%比较矩阵B与标量a(逐项比较,等则返回1,不等则返回0)AB%比较矩阵A与B大小(逐项比较,大则返回1,小则返回0)3、矩阵的逻辑运算逻辑操作符说明对应的函数&逻辑与and(A,B)|逻辑或or(A,B)~逻辑非nor(A,B)||先决或——&&先决与——【例】clearall;A=[543;089;367];B=[157;397;024];A|B%同维矩阵的逻辑或运算a=4;A=[34;59];a&A%标量与矩阵的逻辑与运算~A%矩阵的逻辑非运算四、MATLAB流程控件三大结构:顺序结构、循环结构、选择结构1、顺序结构【例】使用顺序结构,计算两数的和、差clearall;num1=9;num2=12;disp('两个数的和为:')%需要显示的指令,s=num1+num2%末尾不用加“;”disp('两个数的差为:')d=num1-num22、循环结构(1)for语句for循环语句的结构:forindex=valuesprogramstatements……end【注】index为循环变量,values一般为使用冒号进行步进的等差数列[start:increment:end],statements为循环体,最后是关键字end。使用for循环语句控制循环结构,其循环次数是一定的,由values列数决定,即(end-start)/increment。【例】从自然数1开始累加,加数为自然数的质数因子最小数,直到累加和达到99时停止累加,返回累加和于停止的位置。clearall;form=1:6forn=1:6ifm==na(m,n)=2;elseifabs(m-n)==2a(m,n)=1;elsea(m,n)=0;endendend(2)while循环while循环的一般调用格式:whileexpressionstatementsend【注】当表达式expression的结果为真时,就执行循环语句,知道表达式expression的结果为假,才退出循环。若表达式expression是一个数组A,则相当于判断all(A)。注意空数组被当作逻辑假,循环不执行。【例】利用while循环结构求方程x^3-2x-5的解。clearall;a=0;fa=-Inf;b=3;fb=Inf;whileb-aeps*bx=(a+b)/2;fx=x^3-2*x-5;iffx==0breakelseifsign(fx)==sign(fa)a=x;fa=fx;elseb=x;fb=fx;endenddisp('方程的解为:')disp(x)(3)break语句和continue语句break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续执行下一次循环。【例】求0~50范围内3与5的公倍数的程序(continue)clearall;disp('输出0~50范围内能同时被3和5整除的数')forn=0:50ifmod(n,3)==0ifmod(n,5)~=0continueenddisp(n)endend【例】鸡兔同笼问题,在笼子中有头36个,脚有100只,求鸡兔

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功