MATLAB简明教程.doc

上传人:cl****1 文档编号:558323487 上传时间:2024-02-29 格式:DOC 页数:26 大小:208.50KB
返回 下载 相关 举报
MATLAB简明教程.doc_第1页
第1页 / 共26页
MATLAB简明教程.doc_第2页
第2页 / 共26页
MATLAB简明教程.doc_第3页
第3页 / 共26页
MATLAB简明教程.doc_第4页
第4页 / 共26页
MATLAB简明教程.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《MATLAB简明教程.doc》由会员分享,可在线阅读,更多相关《MATLAB简明教程.doc(26页珍藏版)》请在金锄头文库上搜索。

1、一、 初识MATLAB二、 MATLAB入门l 基本算术运算1. 加+2. 减-3. 乘*4. 除或/5. 幂次方*1. 求的算术运算结果l 变量1. 对字母大小写敏感2. 第一个字符必须是英文,6.5版本不超过63个3. 不包含空格、标点,但包含下划线4. 不与系统预定义变量相同ans, eps, Inf或inf, i或j, pi, NaN或nan, nargin, nargout, realmax, realmin等l 标点符号1. ,输入量和输入量的分隔,数组元素的分隔,显示计算结果的指令与后面的指令分隔2. ; 不显示计算结果指令的“结尾”标志,不显示计算结果指令与与后面的指令分隔,数

2、组行的分隔3. : 生成一维数组,单下标引用表全部元素,多下标引用表本维全部4. % 注释5. 输入数组引用,函数输出宗量表示6. 字符串记述l 常用函数abs(x), sqrt(x), exp(x), sin(x), cos(x), asin(x), acos(x), tan(x), atan(x), log(x), log10(x), lcm(x,y), gcd(x,y), imag(x), real(x), conj(x)*1. 计算l 表达式1. 由变量名、运算符和函数名组成2. 按常规相同的优先级自左向右运算3. 括号优先4. 赋值符“=”和运算符两侧允许有空格*1. 复数,计算l

3、常用控制指令clf 清除图形框clc 清除指令框clear 清除工作空间exit 关闭/退出matlabquit关闭/退出matlabwho 查看工作区变量whos查看工作区变量及详细情况l 数值显示格式(P.3 自学)format short 短格式format shor e 短格式科学格式format long 长格式format long e 长格式科学格式format rat 有理格式format bank 银行格式*用MATLAB计算能得到 2 吗? 答:不能!第二章 矩阵与多项式l 多项式的创建1. 表示方式多项式降幂排列,用系数行向量表示2. 创建方法(1) 直接输入法(2) 指

4、令P=poly(AR)若AR是方阵,多项式P是该方阵的特征多项式若AR=a1, a2,an-1,an,则AR的元素认为是多项式P的根l 多项式的计算多项式的四则运算1多项式的加减运算求多项式x4+8x3-10与多项式2x2-x+3的和2多项式乘法运算函数conv(P1,P2)用于求多项式P1和P2的乘积。这里,P1、P2是两个多项式系数向量。求多项式x4+8x3-10与多项式2x2-x+3的乘积3多项式除法函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的

5、逆函数,即有P1=conv(P2,Q)+r。求多项式x4+8x3-10除以多项式2x2-x+3的结果多项式的导函数p=polyder(P):求多项式P的导函数p=polyder(P,Q):求PQ的导函数p,q=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。上述函数中,参数P,Q是多项式的向量表示,结果p,q也是多项式的向量表示。求多项式x4+8x3-10导函数多项式的求值MATLAB提供了两种求多项式值的函数:polyval与polyvalm,它们的输入参数均为多项式系数向量P和自变量x。两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。已知多项式x4+

6、8x3-10,分别取x=1.2和一个23矩阵为自变量计算该多项式的值多项式求根n次多项式具有n个根,当然这些根可能是实根,也可能含有若干对共轭复根。MATLAB提供的roots函数用于求多项式的全部根,其调用格式为:x=roots(P),其中P为多项式的系数向量,求得的根赋给向量x,即x(1),x(2),x(n)分别代表多项式的n个根。求多项式x4+8x3-10的根 已知 f(x),(1) 计算f(x)=0 的全部根。(2) 由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比。l 矩阵的创建1. 直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵

7、的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。a=2.7358; b=33/79;C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i 2. 利用冒号表达式建立一个向量冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n),其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):

8、b等价。3. 利用M文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。特殊矩阵1. 通用的特殊矩阵 zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生01间均匀分布的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。*1. 分别建立33、32和与矩阵A同样大小的零矩阵 (1) 建立一个33零矩阵。zeros(3) (2) 建立一个32零矩阵。zeros(3,2) (3) 设A为23矩阵,则可以用zeros(size(A)建立一个与矩阵A同样大小零矩阵。A=1 2 3;4 5 6; %产生一个23阶矩阵A

9、zeros(size(A) %产生一个与矩阵A同样大小的零矩阵2. 建立随机矩阵: (建立在矩阵与数值计算规则上)(1) 在区间20,50内均匀分布的5阶随机矩阵。(2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)2用于专门学科的特殊矩阵魔方矩阵、范得蒙矩阵、希尔伯特矩阵、托普利兹矩阵、伴随矩阵、帕斯卡矩阵l 矩阵元素1. 通过下标引用矩阵的元素A=1,2,3;4,5,6;A(1,2) ( A(m,n) 表示第 m行第n列)ans = 22. 通过序号引用矩阵的元素A(3) 序号一列一列算

10、ans = 2序号(Index)与下标(Subscript )是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。l 矩阵运算算术运算1基本算术运算矩阵加减运算 假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。矩阵乘法 假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=A*B为mp矩阵。矩阵除法在MATLAB中

11、,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果相同,如3/4和43有相同的值,都等于0.75。又如,设a=10.5,25,则a/5=5a=2.1000 5.0000。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般ABB/A。矩阵的乘方 一个矩阵的乘方运算可以表示成Ax,要求A为方阵,x为标量。2点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关

12、算术运算符前面加点,所以叫点运算。点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。3关系运算 MATLAB提供了6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)关系运算符的运算法则为:(1) 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。(2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。(3) 当参与比较的一个是标量,而另一个是矩阵

13、时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。逻辑运算MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。逻辑运算的运算法则为:(1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。(2) 设参与逻辑运算的是两个标量a和b,那么:a&b a,b全为非零时,运算结果为1,否则为0。a|b a,b中只要有一个非零,运算结果为1。a 当a是零时,运算结果为1;当a非零时,运算结果为0。(3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个

14、进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。(4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。(5) 逻辑非是单目运算符,也服从矩阵运算规则。(6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。矩阵的转置与旋转1矩阵的转置转置运算符是单撇号()。2矩阵的旋转利用函数rot90(A,k)将矩阵A逆时针旋转90的k倍,当k为1时可省略。矩阵的逆与伪逆1矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I (I为单位矩阵),则称B为A的逆矩阵,当然,A也是B的逆矩阵。在MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)。2矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A同型的矩阵B,使得:ABA=A,BAB=B,此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。方阵的行列式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号