MATLAB之(一)数组、矩阵和函数及运算.ppt_第1页
MATLAB之(一)数组、矩阵和函数及运算.ppt_第2页
MATLAB之(一)数组、矩阵和函数及运算.ppt_第3页
MATLAB之(一)数组、矩阵和函数及运算.ppt_第4页
MATLAB之(一)数组、矩阵和函数及运算.ppt_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB是MATrix LABoratory的缩写。它 是一个高性能的科技计算软件,它具有强大的数值 计算、图形和编程的功能。 MATLAB在数据处理、科学计算、系统工程 、自动控制、无线电、机械制造等领域有着广泛的 应用。 目前国内比较流行的MATLAB版本是 V5.x(WINDOWS版),V6.x,下面介绍MATLAB的简 单使用方法。 MATLAB具有的优势与特点 1.具有友好的工作平台和编程环境,用户界面精致 2.具有强大的科学计算及数据处理能力,可以解决: 矩阵计算和线性方程组求解; 微分方程及偏微分方程组的求解; 符号运算; 傅立叶变换和数据的统计分析; 工程中的优化问题; 稀疏矩阵运算; 复数的各种运算等等。 3.具有出色的图形处理功能 4.具有应用广泛的模块集和工具箱,一般来说是由特定领 域专家开发的,用户可以直接使用工具箱学习、应用和评 估不同的方法而不需要自己编写代码。 目前MATLAB已经把工具箱延伸到了科学研究和工 程应用诸多领域,如: 数据采集、数据库接口、概率统计、样条拟合、优化 算法、偏微分方程求解、神经网络、小波分析、信号处理 、图象处理、系统辩识、控制系统设计、鲁棒控制、金融 分析等等。 5.具有使用的程序接口和发布平台 MATLAB与FORTRAN语言和C语言等高级语言有接 口,交互使用。 1一些基本操作和命令 1 命令行编辑 home:光标移至行首 end: 光标移至行末 esc:清除一行 :光标左移一个字符 :光标右移一个字符 :调出前一命令行 :调出下一命令行 2 续行号“.”: 当一个命令的长度超过一行时,应将该行分为两行, 这时在第一行键入回车键换行之前须使用续行号“.”,遇 到这一符号MATLAB会将后续行作为这一命令的继续。 3 帮助: help程序(主题)名,如 help eye 2矩阵、数组与函数 MATLAB的主要数据对象是矩阵,标量、数组、行 向量、列向量都是它的特例,最基本的功能是进行矩阵运 算。MATLAB对矩阵和数组的操作有一些特殊规定。 一、矩阵的输入和运算 常用的矩阵输入方法有:直接输入每个元素;语句或 函数生成;M-文件中生成等。 1 矩阵的直接输入 MATLAB中不用描述矩阵的类型和维数,它们由输入的 格式和内容决定。逐一输入矩阵的元素,具体做法是:在 方括号内逐行键入矩阵各元素,同行元素之间用逗号或空 格分隔,两行之间用分号分隔。对于大矩阵的输入,两行 之间可用回车键代替分号,也可使用续行号。 如: A=1,2,3;4,5,6;7,8,0 回车 A= 1 2 3 4 5 6 7 8 0 或 A=1,2,3 4,5,6 7,8,0 回车 A= 1 2 3 4 5 6 7 8 0 B=1,2,3;4,5,6;7,8,0 11 12 13;14 15,16 回车 B= 1 2 3 4 5 6 7 8 0 11 12 13 或 B=1,2,3;4,5,6;7,8,0;11, 12 13;14 15,16 矩阵中的元素可以用它的行、列数表示,如: a=A(2,1) 回车(A的第2行第1列元素) a= 4 注: 1 A输入后一直保留在工作空间中,可随时调用。 2 可以直接修改矩阵的元素。如: A(2,1)=7回车 A= 1 2 3 7 5 6 7 8 0 又如:A(4,4)=1 回车 A = 1 2 3 0 7 5 6 0 7 8 0 0 0 0 0 1 原来矩阵没有 第4行和第4列, MATLAB自动 增加行列数,对 未输入的元素赋 值0 2函数生成矩阵 MATLAB提供了一些函数来生成特殊矩阵,常见命令有: (1) zeros(生成零矩阵) ; (2) eye(生成对角元为1 矩阵) ; (3) ones(生成元素全为1的矩阵); (4) rand(生成在(0,1)均匀分布随机矩阵); (5) randn(生成正态分布随机矩阵); W=zeros(2,3) W= 0 0 0 0 0 0 V=eye(2,4) V = 1 0 0 0 0 1 0 0 U=ones(3) U = 1 1 1 1 1 1 1 1 1 X=rand(2,3) X = 0.9501 0.6068 0.8913 0.2311 0.4860 0.7621 3矩阵的裁剪与拼接 从一个矩阵中取出若干行(列)构成新的矩阵称为裁 剪,MATLAB中“:”的使用是非常重要的裁剪工具,如 : C=A(2:3,:) C = 7 5 6 0 7 8 0 0 注:A(2:3,:)中“2:3”表示取2 至3行,“:”表示取所有的列 。 D = 5 6 0 8 0 0 D=C(:,2:4) A(3,:) ans = 7 8 0 0 将几个矩阵接在一起称为拼接。左右拼接时要求行数 相同,上下拼接时要求列数相同。如: E=C,ones(2,1) E = 7 5 6 0 1 7 8 0 0 1 F=A(1:2,:);eye(1,4) F = 1 2 3 0 7 5 6 0 1 0 0 0 4矩阵的运算 “+”加法;“”减法;“ ”转值;“*”乘法;“”乘幂 ;“”左除;“/”右除。矩阵运算要符合矩阵运算规律,若 不符合运算规律,将产生错误信息。这里只将左除和右除 的用法叙述如下: 设A可逆,AX=B的解是A左除B,即X=AB;XA=B 的解是A右除B,即X=B/A,如: A=1,2,3;4,5,6;7,8,0 A = 1 2 3 4 5 6 7 8 0 b=366;804;351 b = 366 804 351 X=Ab X = 25.0000 22.0000 99.0000 B=A B = 1 4 7 2 5 8 3 6 0 d=b d = 366 804 351 Y=d/B Y = 25.0000 22.0000 99.0000 X=b/A X = 561 -222 99 二、数组及其运算 一行一列的矩阵是向量或数组,在MATLAB中向量和数 组虽然形式一致,但却是两个不同的概念,遵循不同的运 算规则。数组是元素为连续存储的数据的集合,数组运算 的最重要特征是按元素进行运算。 1 数组的输入 可以像1n矩阵(即行向量)一样输入,如: a=2,3,4,5 a = 2 3 4 5 数组常用“:”来方便地生成一些特殊的数组。如: a=1:5(从1到5公差为1的等差数组) a = 1 2 3 4 5 b=1:2:7(从1到7公差为2的等差数组) b = 1 3 5 7 c=6:-3:-6(从6到-6公差为-3的等差数组) c = 6 3 0 -3 -6 e=0:2:8,ones(1,3)(等差数组和行向量的拼接) e = 0 2 4 6 8 1 1 1 2数组的运算 数组除作为1n矩阵(行向量)遵循矩阵运算外, MATLAB还为数组提供了一些特殊运算。两个数组间的 运算是将对应元素作运算而得到的一个新的数组。一个数 与一个数组间的运算是该数逐个与数组元素作运算而得到 的数组。数组运算符有: “+”加法;“-”减法;“.*”乘法;“.”乘幂;“.”左除; “./”右除。为了与矩阵运算相区别,乘法、除法、乘幂号 前加上一个点“.”,为了避免二义性,最好在运算符的“.” 前留一个空格。 a=1,2,3,4,5,b=1,3,5,7,9,c=a .*b a = 1 2 3 4 5 b = 1 3 5 7 9 c = 1 6 15 28 45 d=a.2,e=b.a d = 1 4 9 16 25 e = 1 9 125 2401 59049 f=a./b,g=a.b f = 1.0000 0.6667 0.6000 0.5714 0.5556 g = 1.0000 1.5000 1.6667 1.7500 1.8000 三、语句、变量和表达式 1语句形式 MATLAB的语句的一般表达形式 : 变量=表达式 注: 若变量和“=”省略,则名为ans的变量自动建立。 如果你输入一个语句,并以回车结束,则在工作 区中显示计算结果;如果语句以分号“;”结束;MATLAB 只进行计算,不显示计算结果。 如果表达式太长,可以用续行号“”将其延续到下一 行。 一行中可以写几个语句,它们之间要用逗号或分号分 开。 a=1,2,3,4,5;b=1,3,5,7,9; c=a.*b,d=a*b,e=a*b回车 c = 1 6 15 28 45 d = 95 e = 1 3 5 7 9 2 6 10 14 18 3 9 15 21 27 4 12 20 28 36 5 15 25 35 452变量 MATLAB的变量由字母、数字和下划线组成,最多31个 字符,区分大小写字母,第一个字符必须是字母。对于变 量,MATLAB不需要任何类型的说明或维数语句,当输 入一个新的变量名时,MATLAB自动建立变量并分配内 存空间。 几个特殊变量: pi 圆周率; eps 最小浮点数; Inf 正无穷大,特指1/0 ; NaN 不定值,特指0/0; I,j 虚数单位。 a=0,1,0,b=1,0,0,c=a./b a = 0 1 0 b = 1 0 0 c = 0 Inf NaN c=pi c = 3.1416 3变量的存储 工作空间中的变量可以用save命令存储到磁盘文件中 。键入save,将工作空间中全部变量存到. mat 文件中去,若省略,则存到文件 matlab.mat中。如: save madt save madtl a b (将变量a b存入madtl.mat文件中) 4调出 用load命令可以把变量从磁盘文件读入到MATLAB 的工作空间。load命令也可以调出文本文件,但是文本文 件只能由数字组成的矩阵形式。load命令的用法为: load,它将指出的磁盘文件中的数 据依次读入名称与相同的工作空间中的变量中去 。如: load madt load madtl 5变量值的显示 作为运算结果的变量值,在表达式计算后在屏幕上显 示出来,但在表达式结尾加一个分号“;”,该结果不再显 示。 显示 格式: 在MATLAB中数据可以用多种格式显示,显 示格式用显示命令指定。显示命令主要有: format short(短格式,省缺显示) ; format long(长格式); format bank; format rat(分数格式); format short e(短e格式); format long e(长e格式)。 以为例,将显 示方式列表如 下: 命令 显示 说明 format short ,t=pi 3.1416 4位小数 format long ,t =pi 3.14159265358979 15位小数 format bank,t =pi 3.14 2位小数 format rat,t =pi 355/113 最接近的有理数 format short e,t =pi 3.1416e+000 科学计数 format long e ,t =pi 3.141592653589793e+000 四、函数 MATLAB提供了大量的函数,按照起用法分为标量函数 、向量函数和矩阵函数。 1标量函数 常用的函数列出如下,只作必要的注释: 三角函数 : 双曲函数 : 其他基本函数 : cos; sin ;tan ;cot; csc; asin; acos; atan; acot; asec ;acsc; sinh; cosh; tanh ;asinh; acosh ;atanh。 Sqrt(平方根); exp(指数函数) ;log(对数函数) ;log10(以10为底的对数函数); log2(以2为底的对数 函数);abs (绝对值或复数模);;real(取实部);imag( 取虚部);angle(取幅角);rats(有理逼近)。 注: 这些函数本质上是作用于标量,当它们作用于矩阵 (或数组)时,是对矩阵(或数组)的每个元素进 行运算。如: 舍入函数: round(四舍五入);floor(向-方向取值);ceil (向+方向取值); fix(向零方向取整) y = 0 0.5878 0.9511 0.9511 0.5878 0.0000 a=-3.5,4.6,2.8,-2.2;b=round(a),c=floor(a),d=ceil(a), e=fix(a),f=rats(a) b = -4 5 3 -2 c = -4 4 2 -3 d = -3 5 3 -2 e = -3 4 2 -2 f = -7/2 23/5 14/5 -11/5 2向量函数 x=(0:0.2:1).*pi; y=sin(x) (用于数据分析 ) 有些函数只有当它们作用于(行或列)向量时才有意 义,称之为向量函数。这些函数也可作用于矩阵,此时它 产生一个行向量,行向量的每个元素是函数作用于相应列 向量的结果。常用的有: max; min; sum(和); length(长度); mean(平均值 ) median(中值); prod(乘积); sort(从小到大排列) 。std (标准差) a=4,3.1,-1.2,0.6,2.8; b=min(a), c=sum(a), d=median(a), e=sort(a) a = 4.0000 3.1000 -1.2000 0.6000 2.8000 b = -1.2000 c = 9.3000 d = 2.8000 e =-1.2000 0.6000 2.8000 3.1000 4.0000 3矩阵函数 矩阵函数可分为两类:构造矩阵的函数和进行矩阵计算的 函数。 构造矩阵的函数: zeros(0矩阵); ones(1矩阵); eye(单位矩阵); rand(均匀分布随机矩阵); randn(正态分布随机矩阵); Randperm(m)(生成从1到 m的随机变量排列) diag(生成或提取对角矩阵); triu(生成或提取上三角矩阵) ; tril(生成或提取下三角矩阵); Meshgrid(三维网图); A=1,2,3;4,5,6;7,8,10 B=triu(A), C=tril(A), B = 1 2 3 0 5 6 0 0 10 C = 1 0 0 4 5 0 7 8 10 A = 1 2 3 4 5 6 7 8 10 D= diag(A), E=diag(D) D = 1 5 10 E = 1 0 0 0 5 0 0 0 10 常见的矩阵计算函数有: size(大小);det(行列式);rank(秩);inv(逆);eig(特征值 ,特征向量与特征值);trace(迹);expm(矩阵指数); poly(特征多项式); lu(lu分解); qr(正交分解); norm(矩阵或向量的范数);cond(条件数)。poly( 特征多项式);chol(Cholesky分解) A=8,1,6;3,5,7;4,9,2,B=size(A) A = 8 1 6 3 5 7 4 9 2 B = 3 3 C=det(A),D=rank(A),E=inv(A) C = -360 D = 3 E = 0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028 F=trace(A),G=poly(A), F = 15 G = 1.0000 -15.0000 -24.0000 36

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论