Matlab2014软件教程(完美版)

所需积分/C币:50 2016-08-02 21:13:57 3.34MB PDF
收藏 收藏 1
举报

Matlab2014软件教程(完美版)
l、 Matlab帮助的使用 I help %帮助总览 help elfun+%关于基本函数的帮助信息 help exp d%指数两数exp的详细信总 12 lookfor指令 当要査找具有某种功能但又不知道准确名字的指令吋,help的能力就不够了, lookfor 可以根据用户提供的完整或不完整的关键词,去搜索出组与之相关的指令。 lookfor integral d%查找有关积分的指令 lookfor fourier%查找能进行傅里叶变换的指令 3超文本格式的帮助文件 在 Matlab中,关于一个函数的帮助信息可以用doc命令以超文本的方式给出,如 doc oc doc doc eig%eig求矩阵的特征值和特征向量 1,4pdf帮助文件 叮从 Math Works网站上下载有关的podf帮助文件 网站地址:htp:/www.mathworks.com 2、 Matlab数据输入与类型 21 Matlab中的变量 MATLAB程序中的基本数据单元称为阵列(Aray),是一个分为行与列的数据集合 变量被看作是只有·行·列的阼列。 MATLAB语言不需要对变量进行事先声明,也不 需要指定变量类型,它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的 类型。其命名规则为: (1)变量名的大小写是敏感的 (2)变量的第一个字符必须为英文字母,而且不能超过31个字符 (3)变量名可以包含下划线、数字,但不能为空格符、标点。 (4)命名变量时可以取一个容易记忆并且能表达出其含义的名称,如汇率,可以 定义为 exchange rate 对于变量作用域,默认情况是局部变量,使用 globa定义全局变量,而且全局变 量常用大写的英文字母表示。 MATLAB预定义的变量如下表所示: ans 预设的计算结果的变量名 MATLAB定义的正的极小值=22204e-16 内建的π值 inf ∞x值,无限大 NaN 无法定义一个数目 i或j 虚数单位ij=-1 nargIn 函数输入参数个数 nargout 函数输出参数个数 realmax 1023 最大的正实数2 realmin -1022 最小的正实数2 fe OpS 浮点运算次数 注1:在定义变量时要尽量与避免与这些名字相同,以免改变它们的值,如果已经 改变,可以通过 clear变量名来恢复它的初始值,也可以通过重新启动 MATLAB恢 复这些值。 注2:数字的输入输岀格式。所有数据均按IEE浮点标准的长型格式存储。输入 格式沿用了C语言的风格和规则;输岀格式使用 format数据格式命令控制,只影响 在屏幕上的显示结果,不影响内部的存储和运算。 Type Result short Scaled fixed point format, with 4 digits after the decimal point. For example, 3.1416 long Scaled fixed point format with 14 to 15 digits after the decimal point for double, and 7 digits after the decimal point for single. For example, 3.141592653589793 short e Floating point format, with 4 digits after the decimal point. For example, 3.1416e+000 long e Floating point format, with 14 to 15 digits after the decimal point for double, and 7 digits after the decimal point for single. For example, 3.1415926535897936+000 short g Best of fixed or floating point, with 4 digits after the decimal point. For example, 3.1416 long g Best of fixed or floating point, with 14 to 15 digits after the decimal point for double, and 7 digits after the decimal point for single. For example, 3. 14159265358979 short eng Engineering format that has 4 digits after the decimal point, and a power that is a multiple of three. For example, 3. 1416e+000 long eng Engineering format that has exactly 16 significant digits and a power that is a multiple of three For example,3.14159265358979e+000 2,2向量及其运算 1、向量的生成 ①命令窗口直接输入,使用[],元素之间用空格、逗号或者分号隔开。 ②2使用冒号表达式,基本形式为x=x0:step:xn,其中xn为尾元素数值限,而不一定 是尾元素的值。当step=-1时可省略步长 ③生成线性等分向量,使用 linspace函数。Y- -linspace(x1,x2n) ④生成对数等分向量,使用 logspace函数。Y= logspace(x1,x2,n) 2、向量的基本运算 数加(减)、数乘、点积(dot函数)、叉积( cross函数)、混合积 dot(a, cross(b,c) 23矩阵及其运算 简单矩阵的输入 (1)要直接输入矩阵时,矩阵一行中的元素用空格或逗号分隔:矩阵行与行之间 用分号“;隔离,整个矩阵放在方括号气[]”里。 A=[1,2,3:4,5,6;7,8,9] 说明:指令执行后,矩阵A被保存在 Matlab的工作空间中,以备后用。如果用户 不用 clear指令清除它,或对它进行重新赋值,那么该矩阵会一直保存在工作空间中, 直到本次指令窗关闭为止。 (2)矩阵的分行输入,此时回车键作为分行标志, A=[1,2,3 4,5,6 7,8,9 (3)使用M文件创建大矩阵,当矩阵维数非常大时,可以创建m文件,在m文 件中输入数据或者导岀数据文件 2、矩阵的基本运算 ①矩阵的四则运算。其中乘法运算要注意相乘的双方有相邻公共维,除法分为左除 “"(AlB=inv(A)+B)和右除”"(AB=Ainv(B)(需要计算逆矩阵 ②矩阵的逆运算。inv函数 ③矩阵的幂运算。 ④矩阵的指数运算。exp(返回每个元素的指数值),expm(V,D]=EIG(X)and EXPM(X)=V*diag(exp(diag(D)))/V), expml(exp(x)-1) 矩阼的对数运算。logm ⑥矩阼的特征值函数。eig和eigs(适合于大型稀疏方阼) ⑦矩阵的奇异值函数。svd([U,S.V]=SVD(X),X=U*S*V")和svds ⑧矩阵的条件数函数。cond(矩阵A的条件数等于A的范数与A的逆的范数的 乘积,c=cond(A,p)等价于norm(A,p)*norm(inv(A)p), condest(1范数的条件数的估计 值), cond ⑨特征值的条件数数。 codein([V,D,]= condeig(A)等价于[V,D]=eig(A):S condeig(a) ⑩范数函数 norm(1-范数:即列范数,矩阵的各列绝对值之和的最大值:2-范数 所有元素的平方和开根号(默认);无穷范数:即行范数,矩阵各行的绝对值之和的最人 值), norwest(矩阵的2范数的估计值) 其他还有秩函数rank,迹函数 trace,零空间函数nul(又称为核空间,X=nul(A), 则A*X=0,X”*X=D),正交空间函数orth(B=orth(A),则B*B=eye(rank(A),伪逆函数 pIny 等 3、特殊向量和特殊矩阵 (1)特殊向量 t=[0:0.1:10]%产生从0到10的行向量,元素之间间隔为0.1 t-linspace(n1, n2, n) %产生n1和n2之间线性均匀分布的n个数(缺省n时,产生100个数 t- -logspace(n1,n2,n)(缺省n时,产生50个数) %在和之间按照对数距离等间距产生n个数。 (2)特殊矩阵 i)单位矩阵 eve(m eye(m,n)可得到一个可允许的最大单位矩阵而其余处补0, eye(size(a)可以得到与矩阵a同样大小的单位矩阵。i) 所有元素为1的矩阵ones(n),ones(size(a),ones(m, n) ⅲi)所有儿素为0的矩阵 zeros(m), zeros(m,n)。i)空矩阵是 个特殊矩阵,这在线性代数中是不存在的。例如 矩阵q在工作空间之中,但它的大小为零。通过空矩阵的办法可以删除矩阵的行与 列。例如 a(:,3)= 表示删除矩阵a的第3列。 ⅴ)随机数矩阵 7 rand(mn)广生m矩阼,其中的元素是服从⑩0.1上均匀分布的随机数 randint(m,n,min,max)产生m为矩阵,其中的元素是[min,max]上的随机整数 normand(mu, sigma,m,n)产生mⅪ矩阵,其屮的元素是服从均值为mu,标准差 为 Sigma的正态分布的随机数。 expend(mu,m,n)产生mⅪ矩阵,其中的元素是服从均值为mu的指数分布的随 机 poissrnd(mu,m,n)产生m粗矩阵,其中的元素是服从均值为mu的泊松 ( Poisson 分布的随机数。 unifrnd(a,b,m,n)产生m矩阵,其中的元素是服从区间[a,b]上均匀分布的随机数。 r= mrnd(MU, SIGMA, cases)产生 cases对均值向量为MU,协方差阵为SGMA 的多维正态分布的随机数。 ⅵi)随机置换 rander(n)产生1到n的一个随机全排列 perm(1:n)产生1到n的所有全排列。vi) 稀疏矩阵 稀疏矩阵是指矩阵中零元素很多,非零元素很少的矩阵。对于稀疏矩阵,只要存放 非零元素的行标、列标、非零元素的值即可,可以按如下方式存储 (非零元素的行地址,非零元素的列地址),非零元素的值。在 Matlab中无向图 和有向图邻接矩阵的使用上有很大差异。对于有向图,只要写出邻接矩阵,直接 使用 Matlab的命令 sparse命令,就可以把 邻接矩阵转化为稀疏矩阵的表示方式。 对于无向图,由于邻接矩阼是对称阼, Matlab中只需使用邻接矩阼的下三角元素, 即 Matlab只存储邻接矩阵下三角元素屮的非零元素 稀疏矩阵只是一种存馅格式。 Matlab中,普通矩阵使用 sparse命令变成稀疏矩阵, 稀疏矩阵使用fu命令变成普通矩阵。 例1a= zeros(5); a(1,[2,4])=3,4]; a(3,[2:4])[138]; a(S5,[1,S])[6,7 b- sparse(a)%普通矩阼转化成稀疏矩阼 c=ful!b%稀疏矩阵转化成普通矩阵 其他一些特殊矩阵如下表所示 脉数 功能 函数 功能 compan 伴随阵 magic 魔方阵 leery Higham测试阵 rosser 经典对称特征值测试阵 hadamard Hardamard矩阵 toeplitz Toeplitz矩阵 hal Hankel矩阵 pascal Pascal矩阵 hilb Hilbert矩阵 vander 范德蒙矩阵 invhilb 反 Hilbert矩阼 Inson Wilkinson's特征值测试矩阼 4、矩阵的特殊操作 ①变维。有两种方法,使用冒号(:)和使用函数 reshape 使用“:表达式对两个矩阵进行变维操作,需要预先定义两个矩阵的维数(例如 A(:,3)=[]); reshape有两种形式,分别为 reshape(X,MN)和 reshape(X,MN,P ②变向主要函数如下表所示: 函数 功能 函数 功能 finEr 矩阵左右翻转 diag 生或提取对角阵 fipud 矩阵上下翻转 tril 生下三角 fipdim 矩阵特定维翻转 triu 产生上三角 Rot90 矩阵反时针90翻转 ③矩阵的抽取 对角线元素抽取函数diag(X,k)diag(v,k),抽取矩阵X的第k条对角线的元素向量/ 使得向量ⅴ为所得矩阵的第k条对角线元素。上三角元 素抽取tri(Xk)和下三角元素抽取triu(CX,k) ④扩展两种方法:利用对矩阵标示块的赋值命令ⅹ(ml:m2,nl:n2)=a生成大矩阵, 其中m2-m1-1必须等于a的行维数,n2-n1+1必须等于a的列维数,生成m2为2维的 矩阵X;利用小矩阼组合生成大矩阼,要严格注意矩阼大小的匹配。(示例 X(1:10,1:10)= zeros(10,10),LX=[X,X;X,X]) Maab中冒号(:)的使用方法小结: (1)用于生成向量,ab,一般要求a<b,否则生成空矩阵 (2)如果b-a不是整数时,则向量的最后一位数为n+a,其中n=fix(b-a)向零取整) (3)ac:b表示[a,a+c,,a+n*c],其中n=fx(-a)c),当c>0且axb或者c<0且a<b 吋出现空矩阼。 (4)A()以一列的方式显示A中所有的元素 (5)b-A(i,)表示将∧中第i行存入b中 (6)b=A(:)表示将A中第j列存入b中 (7)b=A(ik)表示将A中第j到第k个元素存入b中( Matlab中矩阵按列存储) (8)b=A(:,c;d)表示将A中第c列到第d列存入b中,要求c,d不能超过A的列 数 (9)当矩阵很大时,不知道矩阼的维数,可以使用end作为矩阼的最后·行或者 列或者最后一个元素。例如b=A(12,2:end)获取矩阵A右上角的元素。 24数组及其运算 数组与矩阵在形式上完全一致,只是运算与矩阵不同。同型矩阵之间的运算通常称 为数组运算。(矩阵的数组运算) 1、基本数组运算 ①四则运算。数组的乘除法是指两个同维数组间对应元素之间的乘除法,运算符 为”",””和””。数组与常数之问的运算可以加”:”,也可以不加。 ②幂运算。A,对每个数组元素的幂运算 ③指数运算exp,对数运算|og和开方运算sqrt 2、数组函数运算只要把运算的数组带入到函数中就可以了,通用 形式为 funname(A) 3、数组的逻辑运算和关系运算 指令 含义 函数名 小于

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    toddzst 比较方便,谢谢分享
    2018-02-09
    回复
    super张 目前正在使用很方便
    2017-06-04
    回复
    img
    PjBao

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐