王正盛matlab教程 联系客服

发布时间 : 星期一 文章王正盛matlab教程更新完毕开始阅读16f20d3c27d3240c8447efe4

MATLAB 数学工具软件

实例简明教程

王 正 盛 编写

南 京 航 空 航 天 大 学

南京航空航天大学 王正盛2

第一章 MATLAB 简介

MALAB 译于矩阵实验室MATrix LABoratory 是用来提供通往

LINPACK 和EISPACK 矩阵软件包接口的 后来它渐渐发展成了通用科技 计算图视交互系统和程序语言

MATLAB 的基本数据单位是矩阵它的指令表达与数学工程中常用的习 惯形式十分相似比如矩阵方程Ax=b 在MATLAB 中被写成A*x=b 而若 要通过A,b 求x 那么只要写x=A\\b 即可完全不需要对矩阵的乘法和求逆进 行编程因此用MATLAB 解算问题要比用C Fortran 等语言简捷得多 MATLAB 发展到现在已经成为一个系列产品 MATLAB 主包和各种 可选的toolbox 工具包主包中有数百个核心内部函数迄今所有的三十几 个工具包又可分为两类功能性工具包和学科性工具包

功能性工具包主要用来扩充MATLAB 的符号计算功能图视建模仿真功能文字处理功能以及硬件实时交互功能这种功能性工具包用于多种学科

学科性工具包是专业性比较强的如控制工具包Control Toolbox 信号处理工具包(SignalProcessing Toolbox) 通信工具包(Communication Toolbox)等都属此类开放性也许是MATLAB 最重要最受人欢迎的特点除内部函数外所有MATLAB 主包文件和各工具包文件都是可读可改的源文件用户可通过对源文件的修改 或加入自己编写文件去构成新的专用工具包。MATLAB 已经受了用户的多年考验。在欧美发达国家MATLAB 已经成为应用线性代数自动控制理论数理统计数字信号处理时间序列分析动态系统仿真等高级课程的基本教学工具成为攻读学位的大学生硕士生博士生必须掌握的基本技能在设计研究单位和工业部门MATLAB 被广泛地用于研究和解决各种具体工程问题

第二章 MATLAB 入门

2.1 工作窗和指令行的操作

除了通过菜单选项对工作窗进行控制外 MATLAB 还提供了许多通过 键盘输入的控制指令如下表

MATLAB 工作窗中的部分通用指令 quit 关闭和退出MATLAB

clc擦除MATLAB 工作窗中的所有显示内容

clf 擦除MATLAB 的当前图形窗中的图形 clear 清除内存中的变量和函数 pack 收集内存碎片以扩大内存空间

dir 列出指定目录下的文件和子目录清单 cd 改变当前工作子目录

disp 在运行中显示变量和文字内容 type 显示所有指定文件的全部内容

echo 控制运行文件指令是否显示的开关

南京航空航天大学 王正盛3

hold 控制当前图形窗对象是否被刷新

启动MATLAB 后就可以利用它工作了由于MATLAB 是一种交互式语 言随时输入指令即时给出运算结果是它的主要工作方式当然更可以编制 程序详见第七章 比如要计算 1 5 2 0 3 +

sin( . π )

的值只要在光标位置处键入

2*sin(0.3*pi)/(1+sqrt(5))

然后按[Enter]键,该指令便被执行并给出结果 ans = 0.5000

下面介绍控制光标对指令进行编辑的一些常用操作键 常用操作键

键 名作 用键 名作 用 ↑ 前寻式调回已输入过的 指令行

Home 使光标移到当前行的首端 ↓ 后寻式调回已输入过的 指令行

End 使光标移到当前行的尾端

← 在 当前行中左移光标Delete 删除光标右表边的字符 → 在 当前行中右移光标Backspa ce

删除光标左表边的字符

PageUp 前寻式翻阅当前窗中的 内容

Esc 清楚当前行的全部内容 PageDo wn

后寻式翻阅当前窗中的 内容

2.2 简单矩阵的输入

在MATLAB 中矩阵输入的方法有多种此处只简单介绍矩阵的直接输

入法详细介绍见第三章在MATLAB 中不必对矩阵维数做任何说明存储 将自动配置在直接输入矩阵时矩阵元素用空格或逗号分隔矩阵行用 隔离整个矩阵放在方括号[ ] 里 [例1]

A=[1,2,3;4,5,6;7,8,9;10,11,12] A = 1 2 3 4 5 6 7 8 9 10 11 12

说明指令执行后矩阵A 被保存在MATLAB 的工作间Workspace 中以 备后用如果用户不用clear 指令清除它或对它重新定义该矩阵会一直保存 在工作间中直到本MATLAB 指令窗被关闭为止 [例2]矩阵分行输入 A=[1 2 3 4 5 6 7 8 0 1 2 3] A = 1 2 3 4 5 6 7 8

南京航空航天大学 王正盛4

0 1 2 3

[例3]矩阵元素输入

B(1,2)=3;B(4,4)=6;B(4,2)=11 B = 0 3 0 0 0 0 0 0 0 0 0 0 0 11 0 6 2.3 语句与变量

MATLAB 采用表达式语句用户输入语句由MATLAB 系统结实运行 MATLAB 语句有两种常见的形式1 表达式2 变量=表达式 说明1 表达式由算符函数变量名和数字构成

2 在第一种形式中表达式被执行后产生的矩阵将被自动赋 给名为ans 的变量并 显示在屏幕上ans 是一个缺省变量 名它会被以后类似的操作刷新

3 在第二种形式中等号右边的表达式是被演绎后产生的矩 阵将被赋给等号左边的变量存入内存并显示在屏幕上 4 书写表达式时运算符号= + 以及*

等两侧允许有空格以增加可读性但在复数或符号表达式中要 尽量避免装饰性空格以防出错

5 变量名函数名以一个字母打头后面最多可接19 个字母或 数字注意MATLAB 是区分字母的大小写的 [例1] 表达式的计算结果 2001/81

ans = 24.7037

[例2] 运算结果的赋值

s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8;

说明结尾的分号作用是指令执行结果将不会显示在屏幕上但变量 s 仍将驻留在内存中如想看s 的值只要键入 s

s = 0.6345

2.4 Who Whos 和永久变量

Who 和Whos 这两个指令的作用都是列出在MATLAB 工作间中已经驻 留的变量名清单不过Whos 在给出变量名的同时还给出它们的维数及性 质

[例1] 用 who 检查内存变量 who

Your variables are: s

[例2] 用whos 检查驻留变量的详细情况 whos

Name Size Bytes Class s 1x1 8 double array

Grand total is 1 elements using 8 bytes

南京航空航天大学 王正盛5

在MATLAB 工作内存中还驻留几个由系统本身在启动时定义的变量如下 表称为永久变量Permanent variables 或称为预定义变量 Predefined variables 系统预定义的变量

eps 计算机的最小正数在pc 机上它等于2?52 pi 圆周率π 的近似值3.14159265358979 inf 或Inf 无穷大 NaN 不定量

i,j 虚数单位定义i = j = ?1

flops 浮点运算次数用于统计计算量

说明1 它们是在MATLAB 启动时自定义的 2 它们不会被清除内存变量指令clear 所清除

3 他们可以重新定义为其他值但用clear 可清除重定义值恢复预定义 值

[例1] 无穷大 s=1/0

Warning: Divide by zero. s = Inf 无穷大

a=Inf/inf a = NaN

2.5 数与表达式

MATLAB 的数值采用习惯的十进制表示可以带小数点或负号如下