Matlab2014软件教程(完美版).pdf

所需积分/C币:30 2018-03-08 11:59:28 3.32MB PDF
收藏 收藏 4
举报

Matlab 软件目录 1、Matlab 帮助的使用........................................................................ 3 2、Matlab 数据输入与类型................................................................ 4 3、Matlab 中的 M 文件及程序调试................................................ 12 4、Matlab 绘图命令..............................
1、 Matlab帮助的使用 I help %帮助总览 help elfun%关于基本函数的帮助信息 help exp u%指数函数exp的详细信息 12l0 kfor指令 当要査找具冇某种功能但又不知道准确名字的指令吋,help的能力就不够了, lookfor 可以根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的指令。 lookfor integral d%查找有关积分的指令 lookfor fourier%査找能进行傅里叶变换的指令 1.3超文本格式的帮助文件 在 Matlab中,关于一个函数的帮助信息可以用doc命令以超文本的方式给出,如 doc oc doc doc eig J%eig求矩阵的特征值和特征向量 1.4pdf帮助文件 可从 Math Works网站上下载有关的pof帮助文件。 网站地址:htp:/www.mathworks.com 2、 Matlab数据输入与类型 21 Matlab中的变量 MATLAB程序中的基本数据单元称为阵列(Aray),是一个分为行与列的数据集合。 变量被看作是只有一行一列的阵列。 MATLAB语言不需要对变量进行事先声明,也不 需要指定变量类型,它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的 类型。其命名规则为: (1)变量名的大小写是敏感的 (2)变量的第一个字符必须为英文字母,而且不能超过31个字符 (3)变量名可以包含下划线、数字,但不能为空格符、标点。 (4)命名变量时可以取一个容易记忆并且能表达出其含义的名称,如汇率,可以 定义为 exchange rate 对于变量作用域,默认情况是局部变量,使用 global定义全局变量,而且全局变 量常用大写的英文字母表示。 MATLAB预定义的变量如下表所示 ans 预设的计算结果的变量名 MATLAB定义的正的极小值=22204e-16 p 内建的π值 f ∞值,无限大 NaN 无法定义一个数目 i或j 虚数单位i=-1 nargin 函数输入参数个数 nargout 函数输出参数个数 realmax 1023 最大的止实数2 realmin -1022 最小的正实数2 flops 浮点运算次数 注1:在定义变量时要尽量与避免与这些名字相同,以免改变它们的值,如果已经 改变,可以通过 clear变量名来恢复它的初始值,也可以通过重新启动 MATLAB恢 复这些值。 注2:数字的输入输出格式。所有数据均按IEE浮瓜标准的长型格式存储。输入 格式沿用了C语言的风格和规则;输岀格式使用 format数据格式命令控制,只影响 在屏幕上的显示结果,不影响内部的存储和运算。 Type Result Scaled fixed point format, witr 4 digits afte"the decimal point. For example, 3.1416 Scaled fixed point format with 14 to 15 digits after the decimal point for doutle End 7 dig ts a'ter tre decimal po nt for single. For example, 3.1415926555E9793 short e FlOating point format, with 4 digits after the decimal point. For example, 3. -416e+000 Floating point format, with 14 to 15 digits after the decimal point for double and 7 digits after he decimal point for single. For example, 3.1415926535837338+000 sheet Best of fixed or floating point, mth 4 digits after the decimal point. For example, 3.1416 Bost of fixcod or floating point, with 14 to 15 digit- after tho decimal poi for doubl, and 7 di! ater the decimal point fo single Far example, 3.1415926=358979 shert eng Engineering format hat F as 4 digits a ter the decimal point, and a ower tha is a multiple of e,3.1416e+000 lor.g eng Engineering format chat Fas e actl 16 significant dicits and e poiner tr at is a muliple of tree For example,3.14159265358979e+000 22向量及其运算 1、向量的生成 ①命令窗口直接输入,使川[],元素之间用空格、逗号或者分号隔开 ②2使用冒号表达式,基本形式为x=x0:step:xn,其中xn为尾元素数值限,而不一定 是尾元素的值。当step=1时可省略步长 ③生成线性等分向量,使川 linspace函数。Y- Flinspace(x1x2,n) ④4生成对数等分向量,使用 logspace函数。Y= Flogspacd(x1,x2,n) 2、向量的基本运算 数加(减)、数乘、点积(dot函数)、叉积( cross函数)、混合积dot(a, cross(b,c) 23矩阵及其运算 1、简单矩阵的输入 (1)要直接输入矩阵时,矩阵一行中的元素用空格或逗号分隔;矩阵行与行之间 用分号“;”隔离,整个矩阵放在方括号“[]”里。 A=[1,2,3:4,5.6;7,8,9, 说明:指令执行后,矩阵A被保存在 Matlab的工作空间中,以备后用。如果用户 不用 clear指令清除它,或对它进行重新赋值,那么该矩阵会一直保存在工作空间中, 直到本次指令窗关闭为止。 (2)矩阵的分行输入,此时回车键作为分行标志, [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,SV]=SVD(X),X=U*S*V)和svds ⑧矩阵的条件数函数。cond(矩阵A的条件数等于A的范数与A的逆的范数的 乘积,c=cond(Ap)等价于norm(A,p)* norm(inv(A,p), condest(1范数的条件数的估计 值), cond ⑨特征值的条件数函数。 codein([V,D,s]= condeig(A)等价于[V,D]=eig(A):s condeig(A) ⑩范数函数。norm(1-范数:即列范数,矩阵的各列绝对值之和的最大值;2-范数 所有元素的平方和开根号(默认);无穷范数:即行范数,矩阵各行的绝对值之和的最人 值), norwest(矩阵的2范数的估计值) 其他还有秩函数rank,迹函数 trace,零空间函数nu(又称为核空间,Ⅹ=nul1A), 则A*X=0,X”*X=1),正交空间函数orth(B=orth(A,则B*B=eye(rank(A)),伪逆函数 inv等 3、特殊向量和特殊矩阵 (1)特殊向量 t=[0:0.1:10]%产生从0到10的行向量,元素之间间隔为0.1 tlinspace(n l, n2, n) %产生n1和n2之间线性均匀分布的n个数(缺省n时,产生100个数) t- -logspace(n1,n2,n)(缺省n时,产生50个数) %在和之间按照对数距离等间距产生n个数。 (2)特殊矩阵 i)单位矩阵 eye(m), eye(m,n)可得到一个可允许的最大单位矩阵而其余处补0, eye(size(a)可以得到与矩阵a同样大小的单位矩阵。i) 所有元素为1的矩阵ones(m),ones(size(a),ones(m ⅲi)所有元素为0的矩阵 zeros(m), zeros(m,n)。ⅳv)空矩阵是 个特殊矩阵,这在线性代数中是不存在的。例如 矩阵q在工作空间之中,但它的大小为零。通过空矩阵的办法可以删除矩阵的行与 列。例如 a(:,3)= 表示删除矩阵a的第3列。 ⅴ)随机数矩阵 7 rand(m,n)产生m矩阼,其中的元素是服从0.1上均匀分布的随机数。 randint(n,n,min,max)产生m为矩阵,其中的元素是[min,max上的随机整数 normand(mu, sigma,m,n)产生m难矩阵,其中的元素是服从均值为mu,标准差 为 SIgma的正态分布的随机数。 expend(mu,m,n)产生m1矩阵,其中的元素是服从均值为mu的指数分布的随 机 poisson(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的一个随机全排列 perms(1:n)产生1到n的所有全排列。vi) 稀疏矩阵 稀疏矩阵是指矩阵中零元素很多,非零元素很少的矩阵。对于稀疏矩阵,只要存放 非零元素的行标、列标、非零元素的值即可,可以按如下方式存储 (非零元素的行地址,非零元素的列地址),非零元素的值。在 Matlab中无向图 和有向图邻接矩阵的使用上有很大差异。对于有向图,只要写岀邻接矩阵,直接 使川 Matlab的命令 sparse命令,就可以把 邻接矩阵转化为稀疏矩阵的表示方式 对于无向图,由于邻接矩阼是对称阼, Matlab中只需使用邻接矩阼的下三角元素, 即 Matlab只存储邻接矩阵下三角元素中的非零元素 稀疏矩阵只是一种存储格式。 Matlab中,普通矩阵使用 sparse命令变成稀疏矩阵, 稀疏矩阵使用fu命令变成普通矩阵。 例1a= zeros(5); a(1,[2,4])=34]; a(3,[2:4])[138] a(S[1,S])[6,7] b- sparse(a)%普通矩阼转化成稀疏矩阼 c=ful(b%稀疏矩阵转化成普通矩阵 其他一些特殊矩阵如下表所示: 函数 功能 函数 功能 compan 伴随阵 magic 魔方阵 gallery Higham测试阵 rosser 经典对称特征值测试阵 hadamard Hardamard矩阵 toeplitz Toeplitz矩阵 hank Hankel矩阵 p scal矩阵 hilb Hilbert矩阵 vander 范德蒙矩阵 invhilb 反 Hilbert矩阼 wilkinson Wilkinson's特征值测试矩阼 4、矩阵的特殊操作 ①变维。有两种方法,使用冒号(:)和使用函数 reshape 使用“;表达式对两个矩阵进行变维操作,需要预先定义两个矩阵的维数(例如 A(:,3)=]); reshape有两种形式,分别为 reshape(X,MN)和 reshape(X,M,N,P ②变向主要函数如下表所示: 函数 功能 函数 功能 finEr 矩阵左右翻转 diag 产生或提取对角阵 矩阵上下翻转 tril 生下三角 fipdim 矩阵特定维翻转 triu 产生上三角 Rot90 矩阵反时针90翻转 ③矩阵的抽取 对角线元素抽取函数diag(x, k)/diag(v,k),抽取矩阵Ⅹ的第k条对角线的元素向量/ 使得向量ⅴ为所得矩阵的第k条对角线元素。上三角元 素抽取tri(X,k)和下三角元素抽取triu(X,k) ④扩展两种方法:利用对矩阵标示块的赋值命令ⅹ(ml:m2.nl:n2)=a生成大矩阵, 其中m2m1-1必须等于a的行维数,n2n1+1必须等于a的列维数,生成m22维的 矩阵Ⅹ;利用小矩阼组合生成大矩阼,要严格注意矩阼大小的匹配。(示例 X(1:10.1:10)=zero(10,10),LX=[X,X;X,X] Matlab中冒号(:)的使用方法小结: (1)用于生成向量,a:b,一般要求a<b,否则生成空矩阵 (2)如果b-a不是整数时,则向量的最后一位数为n+a,其中n=ix(b-a)向零取整) (3)a:c:b表示a,a+c,,a+n*c],其中n=fx(ba)c),当c>0且a>b或者c<0且a<b 时出现空矩阼。 (4)A(:)以一列的方式显示A中所有的元素 (5)bAG:)表示将A中第i行存入b中 (6)b=A(∵)表示将A中第j列存入b中 (⑦)b-A〔j:k)表示将A中第j到第k个元素存入b中( Matlab中矩阵按列存储) (8)b=A(:,c:d)表示将A中第c列到第d列存入b中,要求c,d不能超过A的列 数 (9)当矩阼很大时,不知道矩阼的维数,可以使用end作为矩阼的最后一行或者 列或者最后一个元素。例如b=A(1:2,2:end取矩阵A右上角的元素。 24数组及其运算 数组与矩阵在形式上完全一致,只是运算与矩阵不同。同型矩阵之间的运算通常称 为数组运算。(矩阵的数组运算) 1、基本数组运算 ①四则运算。数组的乘除法是指两个同维数组间对应元素之间的乘除法,运算符 为”*”,”〃和””。数组与常数之间的运算可以加””,也可以不加。 ②幂运算。A,对每个数组元素的幂运算。 ③指数运算exp,对数运算lg和开方运算sqrt 2、数纠数运算只要把运算的数组带入到两数中就可以了,通用 形式为 funname(A) 3、数组的逻辑运算和关系运算 指令 含义 函数名 小于 10

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    img
    NewFamer

    关注 私信 TA的资源

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