版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 MATLAB软件初步本章目的:了解什么是MATLAB以及什么如何使用MATLAB。1 导言MATLAB:是 MATrix LABoratory 的缩写,是由美国MathWorks公司开发的工程计算软件,迄今MATLAB已推出了5.2版。MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和MATLAB API (application program interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输入输出及面向对象等特点的高级语言,具有以下主要特点:1)运算符和库函数极其丰富,语
2、言简洁,编程效率高。MATLAB除了提供和C语言一样的运算符外,还提供广泛的矩阵和向量运算符。2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以完全修改图形局部及编制完整图形界面的、低层次的绘图命令。4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控
3、制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。5)易于扩充。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。2 MATLAB环境MATLAB既是一种语言,又是一个编程环境。这一节将集中介绍MATLAB提供的编程环境。作为一个编程环境,MATLAB提供了很多方便用户管理变量、输入输出数据以及生成和管理M文件的工具。所谓M文件,就是用MATLAB语言编写的、可在MATLAB中运行的程序。下面将分别介绍MATLAB的命令窗口、工作区 、程序编辑/调试器和帮助系统。2.1 命令窗口命令窗口是用户与MATLAB
4、进行交互的主要场所。标题栏:在命令窗口的最上面显示 “MATLAB Command Window”字样的一栏。菜单栏:在标题栏下面,含“File(文件)”、“Edit(编辑)”、 “Help(帮助)”四项。工具栏:在菜单栏下面,显示了个工具按钮。熟练使用工具按钮可使工作更快捷、更方便。命令编辑区:命令窗口的空白区域,用于输入和显示计算结果。可以在该区域键入各种MATLAB命令进行各种操作,键入数学表达式进行计算。例如,当键入变量赋值命令:x=4.5 并回车, 将在命令行的下面显示: x= 4.5再输入求px的三角正弦函数值的表达式 Y=sin(pi*x)并回车,将显示: Y= 1若在表达式后面
5、跟分号“;”,将不显示结果,这对有大量输出数据的程序特别有用,例如键入: x=6; z=9; 2*x+y-3*z输出: ans= -111)当不指定输出变量时,MATLAB将计算值赋给缺省变量 ans(answer的缩写)。)在MATLAB里,有很多控制键和方向键可用于命令行的编辑。若一个表达式在一行写不下,可换行,但必须在行尾加上三个英文句号。运算符=、+、-前后的空格不影响计算结果。 变量名命名规则: 1)以字母开头,后面可跟字母,数字和下短线; 2)大小写字母有区别; 3)不超过31个字符。特殊变量名: ans 用于结果的缺省变量名 pi 圆周率 eps 计算机的最小数,当和1相加就产生
6、比1大的数 inf 无穷大,如1/0 NaN 不定量,如0/0 i或j i=j= -1的开方 realmin 最小可用正实数 realmax 最大可用正实数2.2 MATLAB工作区 工作区(workplace):接受MATLAB命令的内存区域,存储着命令窗口输入的命令和创建的所有变量值。可以随时查看工作区中的变量名及变量的值。 who或whos 显示当前工作区中的所有变量 clear 清除工作区中的所有变量 clear (变量名) 清除指定的工作区变量工作区中的所有变量可以保存到一个文件中,便于以后使用。 save (文件名) 将当前工作区的变量储存在一个MAT-文件中 load (文件名)
7、 调出一个MAT-文件 quit?或单击右上角的“”按钮,退出工作区2.3 MATLAB的程序编辑器 MATLAB提供了一个内置的具有编辑和调试功能的程序编辑器,编辑器窗口也有菜单栏和工具栏,使编辑和调试程序非常方M文件包含两类:命令文件和函数文件,都可被别的M文件调用。 1. M文件的建立 1)进入程序编辑器(MATLAB Editor/Debug): 从 “File” 菜单中选择 “New” 及 “M-file” 项或单击 “New M-file” 按钮。 2)输入程序: 在 “MATLAB Editor/Debug” 窗口输入MATLAB程序; 3)保存程序: 单击 “save” 按钮,
8、出现一个对话框,在文件名一框中键入一个文件名,单击“保存”按钮。2. 命令M文件及其运行命令文件没有输入参数,也不返回输出参数,只是一些命令行的组合。命令M文件中的命令可以访问MATLAB工作区中的所有变量,而且其中的所有变量也成为工作区的一部分,命令文件运行结束,命令文件产生的变量保留在工作区,直到关闭MATLAB或用命令删除。下面是一个命令文件的例子。程序:% 文件名example.m x=4;y=6;z=2; items=x+y+z cost=x*25+y*22+z*99 average_cost=cost/items当这个文件在程序编辑窗口输入并以名为example.m的M文件存磁盘后
9、,只需简单地在MATLAB命令编辑窗口键入example即可运行,并显示同命令窗口输入命令一样的结果。在M文件中对程序的注释是以符号“%”开始直到该行结束的部分,程序执行时会自动忽略。3. 函数M文件及其调用在MATLAB编辑窗口还可建立函数M文件,我们可以根据需要建立自己的函数文件,它们能够像库函数一样方便地调用,从而可扩展MATLAB的功能。如果对于一类特殊的问题,建立起许多函数M文件,就能形成工具箱。函数M文件的第一行有特殊的要求,其形式必须为function 输出变量列表=函数名(输入变量列表)函数体语句;函数M文件的文件名必须与其函数名相同。1)输出变量如果多于1个,则应该用方括号括
10、起来;输入变 量应该用逗号隔开;当函数无输出参数时,输出参数项 空缺或者用空的中括号表示。如: function printresults(x) 或 function =printresults(x)2)函数M文件不能访问工作区中的变量,它的所有变量均为局部变量,只有 输入、输出变量才保留在工作区。4. 文件管理 what 返回当前目录下 M, MAT, MEX 文件的列表 dir 列出当前目录下的所有文件 cd 显示当前的工作目录 type test 在命令窗口下显示 test.m 的内容 delete test 删除 M 文件 test.m which test 显示 M 文件 test.
11、m 所在的目录2.4. MATLAB的帮助系统 MATLAB 5.0 里有以下几种方法获得帮助:帮助命令、帮助窗口、MATLAB帮助台、在线帮助页或直接链接到MathWorks公司(对于已联网的用户)。3 数组和函数MATLAB中最基本的数据对象就是数组或矩阵3.1 创建矩阵 1. 直接定义键入: A=1 2 3;4 5 62. 一维数组的简单构造x=0 : 0.1 : 1 % 从0到1, 增量为0.1。 x=linspace(0, pi, 11) % 11个从0到pi的等间隔数.当需要对数分隔的数组时, MATLAB提供了函数logspace. 格式:x=logspace(first, la
12、st, n) 创建从10的first次方开始, 到10的last次方结束, 有n个元素的对数分隔行向量x.所需的数组不具有易于描述的线性或对数分隔关系,这时使用数组编址和表达式结合的功能可避免每次一个地输入数组元素。例如,键入: a=1:5; b=1:2:9; c=b a转置算子()把行向量变成列向量。如键入: a=1:4; % 表示从1到4,增量为1的行向量 b=a % 表示向量的转置1)当数组是复数时, ()产生的是复数共轭转置; 2)(.)只对数组转置, 但不进行共轭。3.在MATLAB中,数组元素用下标访问,如y(2)是y的第2个元素。例如,键入: y(3) % 表示y的第3个元素 为
13、了同时访问一块元素, MATLAB用冒号来表示.键入: x(1:5)键入: y(3: -1 : 1) 3: -1 :1 表示从3开始减1计数, 到1为止.。键入: y(8 2 9 1)这里是按照数组8 2 9 1提供的次序来提取y数组中的元素从一个矩阵中取出若干行(列)构成新矩阵称为剪裁,“:”是非常重要的剪裁工具。例如,键入: A=1 2 3;4 5 6;7 8 9; A(3, :) %A的第3行键入: A(:, 1) %A的第1列键入: B=A(2:3, :) %A的第2,3行A(:) 逐列提取A中的所有元素作为一个列向量。A(i) 把A看作列向量A(:),提取其中第i个元素。A(r, c
14、) 提取A中,由索引向量r定义的行,和由索引向量c 定义的列所构成的A的子数组。A(r, :) 提取A中,由索引向量r定义的行,和全部列所构成的A的子数组。A(:, c) 提取A中,由全部行,和由索引向量c定义的列所构成的A的子数 组。1. 标量数组运算 标量与数组的加、减、乘、除和点乘方(.)是对数组的每个元素进行运算,得到同样大小的数组。例如,键入: a=1:5;3*a-5输出: ans = -2 1 4 7 10键入: a.2输出: ans = 1 4 9 16 252. 数组数组运算 当两个数组具有相同大小时,加、减、点乘(.*)、点除(./)、和点乘方运算 (.) 是按元素对元素方式
15、进行的。例如,键入: g=1 2 3; 5 6 7;8 9 10; h=1 1 1; 2 2 2; 3 3 3; g.*h 输出: ans = 1 2 3 10 12 14 24 27 303.3 矩阵的运算B,即 X=AB;MATLAB提供了下列矩阵运算+ 加法;- 减法;转置运算;* 乘法; 乘幂; 左除;/ 右除设A是可逆矩阵,1)AX=B的解是A左除B, 即 X=AB,意为用A-1左乘以B。2)XA=B的解是A右除B, 即 X=B/A,意为用A-1右乘以B。3.4 函数 1. 常用的数学函数MATLAB中的常用数学函数有三角函数:正弦sin(x), 双曲正弦sinh(x), 反正弦as
16、in(x), 反双曲正弦 asinh(x), cos(x), tan(x), cot(x), sec(x), csc(x)等。指数函数:exp(x), 自然对数log(x), 常用对数log10(x), 以2为底的对数 log2(x), 平方根sqrt(x)等。整值函数:朝零方向取整fix(x), 朝-¥方向取整floor(x), 朝+¥方向取整 ceil(x), 四舍五入到最接近的整数round(x), 符号函数sign(x) 等。其他数学函数:绝对值或复数的幅值abs(x)等 2. 数组特征及矩阵操作函数size(A) 返回一个二元素向量,第一个元素为A的行数,第二个元 素为A的列数 si
17、ze(A,1) 返回A的行数 size(A,2) 返回A的列数 length(A) 返回max(size(A) flipud(A) 矩阵作上下翻转 fliplr(A) 矩阵作左右翻转 diag(A) 提取A的对角元素返回列向量 diag(v) 以向量v作对角元素创建对角矩阵 最大值max, 最小值min, 求和sum, 求平均值mean, 按升序排列sort等函数,只有当它们作用于向量时才有意义,它们也可作用于矩阵,此时产生一个行向量,行向量的每个元素是函数作用于矩阵相应列向量的结果3. 矩阵函数 d=eig(A), v,d=eig(A) 特征值与特征向量 det(A) 行列式计算 inv(A
18、) 矩阵的逆 orth(A) 正交化 poly(A) 特征多项式 rank(A) 矩阵的秩 trace(A) 矩阵的迹(对角元素之和) zeros(m, n) m行n列的零矩阵 ones(m, n) m行n列的全1矩阵 eye(n) n阶单位矩阵rand(m, n) m行n列的均匀分布随机数矩阵randn(m,n) m行n列的正态分布随机数矩阵4 图形功能4.1 二维图形 1. 基本的绘图命令 plot命令打开一个称为图形窗口的窗口,将坐标轴缩扩以适应数据,绘制数据。如果已经存在一个图形窗口,则plot命令会清除当前图形窗口的图形,绘制新的图形。1)plot(y) 当y为向量时,是以y的分量为
19、纵坐标,以元素序号为横坐标,用直线依次连接数据点,绘制曲线。若y为实矩阵,则按列绘制每列对应的曲线,图中曲线数等于矩阵的列数。2)plot(x,y) 若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。若x是向量,y是行数或列数与x长度相等的矩阵,则绘制多条不同色彩的连线图,x被作为这些曲线的共同横坐标。若x和y为同型矩阵,则以x,y对应列元素为横纵坐标分别绘制曲线,曲线条数等于矩阵的列数。3)plot(x1,y1,x2,y2,) 在此格式中,每对x, y必须符合plot(x, y)中的要求,不同对之间没有影响,命令将对每一对x, y绘制曲线。在以上三种格式中的x, y都可以是表达式。例
20、1 作出y=sin(x)在0,2p上的图形。键入: x=linspace(0,2*pi,30); y=sin(x); plot(x,y);多条曲线的另一种画法是利用hold命令。在已画好的图形上,若设置hold on, MATLAB将把新的plot命令产生的图形画在原来的图形上。而命令hold off将结束这种状态。例如,x=linspace(0,2*pi,30); y=sin(x); plot(x,y); 先画好图1,然后用 hold on, z=cos(x); plot(x, z); hold off增加cos(x)的图形,也可得到图2。2基本的绘图控制plot(x,y, color-li
21、nestyle-marker)其中,color-linestyle-marker为一个字符串,由颜色、线型和数据点图标组成。例如,plot(x,y, y:o)该例的字符串 “y:o”中,第一个字符“y”表示曲线颜色为黄色;第二个字符 “:” 表示曲线为点线; “o” 表示曲线上每个数据点处用小圆圈标出。字符串参数的取值如下颜色:y(黄);r(红);g(绿);b(蓝);w(白);k(黑);m(紫);c(青)。线型:-(实线);:(点线);-.(虚点线);- -(虚线)。数据点图标:.(小黑点);+(加号);*(星号);o(小圆圈);pentagram (五角星)。坐标系的控制:axis命令来控制
22、,常用的有axis(xmin xmax ymin ymax) 中分别给出x轴和y轴的最小、最大值axis equal x轴和y轴的单位长度相同axis square 图框呈方形axis off 取消坐标轴3图形标注MATLAB提供了标注图形的命令,常用的有xlabel、ylabel和zlabel分别用于对x、y、z轴加标注;title用于给整个图形加标题;text和gtext用于在图形中特定的位置加字符串,前者字符串的位置在命令中指定,后者用鼠标指定;grid在图形上加网格。4多幅图形 Subplot(m, n, p)可在同一个图形窗口中,画出多幅不同坐标系中的图形该命令把一个画面分为mn个图
23、形区域,p代表当前的区域号,在每个区域中分别画一个图。子图沿第一行从左至右编号,接着排第二行,依次类推。4.3 三维图形 1. 空间曲线例2 作螺旋线 x=sint, y=cost, z=t键入: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t);输出图形见图3.2. 带网格的曲面命令: X,Y=meshgrid(x,y);mesh(X,Y,Z);和 surf(X,Y,Z) 例4 作曲面z=f(x,y)的图形, 键入: x= -7.5:0.5:7.5; y=x; X,Y=meshgrid(x,y); R=sqrt(X.2+Y.2)+eps; Z=sin(R)./R
24、; mesh(X,Y,Z);输出图形见图4。可将上述的画网格图的mesh命令改为 surf(X,Y,Z); 则输出的曲面图,效果有所不同。3. 等高线MATLAB还提供了画二维和三维等高线图的函数contour和contour3。例3 作出由MATLAB的函数peaks产生的二元函数的曲面及其等值线图。键入: X,Y,Z=peaks(30); surf(X,Y,Z); figure(2); %打开另一个图形窗口 contour(X,Y,Z,16); figure(3); contour3(X,Y,Z,16);输出的三个图形见图5到图7。5 M文件的编写MATLAB提供四种循环和选择控制结构。它们是:for循环, while循环,if-else-end结构和switch-case-end结构MATLAB的运算符可分为三类:算术运算符、关系运算符和逻辑运算符。其中算术运算符的优先级最高,其次是关系运算符,再其次是逻辑运算符。算术运算符在前面已经介绍,这里只介绍关系运算符和逻辑运算符。1关系运算符 小于; 大于;= 大于等于;=等于;=不等于。生成一个0-1矩阵2逻辑运算符MATLAB共有三个逻辑运算符:与(&)、或( | )、非()。与(&)运算:两运算数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士培训考试题库含答案
- 计划调度员职位专业书籍及学习答案
- 会计面试题及财务实操能力考察
- 2025年便捷物流配送服务项目可行性研究报告
- 2025年现代化养殖技术研发项目可行性研究报告
- 2025年线上线下零售融合发展项目可行性研究报告
- 2025年车联网及智能交通系统集成项目可行性研究报告
- 2026年闽西职业技术学院单招职业倾向性考试题库及参考答案详解一套
- 2026年湖北省宜昌市单招职业适应性测试题库及答案详解1套
- 2026年安徽医学高等专科学校单招职业倾向性考试题库及答案详解1套
- 基建工程索赔管理人员索赔证据收集与审核指南
- AI智能生产平台-AI+质量管理
- 农村山塘维修合同
- 量子点材料的发光性能研究与应用
- 2025广东广州市卫生健康委员会直属事业单位广州市红十字会医院招聘47人(第一次)笔试考试参考题库及答案解析
- 中国外运招聘笔试题库2025
- 建筑物拆除施工沟通协调方案
- 2025食品行业专利布局分析及技术壁垒构建与创新保护策略报告
- 2025四川省教育考试院招聘编外聘用人员15人考试笔试模拟试题及答案解析
- 特许经营教学设计教案
- 2025年智能消防安全系统开发可行性研究报告
评论
0/150
提交评论