第一讲MATLAB操作基础
Download
Report
Transcript 第一讲MATLAB操作基础
Matlab软件与应用
太原理工大学 数学系
教师:刘晓峰
课程安排
学时:32
考核方式:考试+上机+考勤
考试时间:16周后
教材:MATLAB基础及其应用教程
课程任务
通过本课程的教学,应使同学们熟练掌
握常用的数学软件,培养学生运用数学软
件分析和解决数学问题和实际问题的能力。
通过对实际问题的数学处理与计算机求解,
完成建模和求解的任务,使同学们真正体
验到数学及计算机的实际应用。
本课程所学软件可以为数学建模和数学实验
等解决实际问题提供有力的平台帮助
数学实验就是以计算机为仪器,以软件为载
体,通过实验解决实际中的数学问题
而我们学习数学软件就是相当于学习如何使
用仪器
数学软件与Matlab的关系
国际上最常用的三种数学类科技应用软件为:
3M
Matlab
Mathematica
Maple
还有MathCAD
4M之间的侧重
在国际上30几个数学类科技应用软件中:
MATLAB在数值计算方面独占鳌头
Mathematica和Maple则分居符号计算软件的
前两名
Mathcad因其提供计算、图形、文字处理的
统一环境而深受中学生欢迎
第1章 MATLAB操作基础
1.1 MATLAB概述
1.2 MATLAB的运行环境与安装
1.3 MATLAB集成环境
1.4 MATLAB帮助系统
1.1 MATLAB概述
1.1.1 MATLAB的发展
MATLAB语言是由美国的Clever Moler
博士于1980年开发的。
设计者的初衷是为解决“线性代数”课
程的矩阵运算问题。
取名MATLAB即Matrix Laboratory 矩
阵实验室的意思。
Matlab的详细发展历史
那是20世纪八十年代初期的事:
时任美国新墨西哥大学计算机科学系主任的
Cleve Moler教授出于减轻学生编程负担的动
机,为学生设计了一组调用LINPACK和
EISPACK库程序的“通俗易用”的接口,此
即用FORTRAN编写的萌芽状态的MATLAB。
经几年的校际流传,在Little的推动下,由
Little、Moler、Steve Bangert合作,于1984
年成立了MathWorks公司,并把MATLAB正
式推向市场。从这时起,MATLAB的内核采
用C语言编写,而且除原有的数值计算能力
外,还新增了数据图视功能。
MATLAB以商品形式出现后,仅短短几年,
就以其良好的开放性和运行的可靠性,使原
先控制领域里的封闭式软件包(如英国的
UMIST,瑞典的LUND和SIMNON,德国的
KEDDC)纷纷淘汰,而改以MATLAB为平
台加以重建。在时间进入20世纪九十年代的
时候,MATLAB已经成为国际控制界公认的
标准计算软件。
1984年,MATLAB第1版(DOS版)
1992年,MATLAB 4.0版
1994年,MATLAB 4.2版
1997年,MATLAB 5.0版
1999年,MATLAB 5.3版
2000年,MATLAB 6.0版
2001年,MATLAB 6.1版
2002年,MATLAB 6.5版
2004年,MATLAB 7.0版
告别DOS版
1993年
MathWorks公司
从加拿大滑铁卢
大学购得Maple的
5.0的MATLAB
使用权,推出了
拥有更丰富的数
符号计算工具包。
据类型和结构、
更友善的面向对
象、更加快速精
良的图形可视、
更广博的数学和
数据分析资源、
更多的应用开发
工具。
Matlab的更新
V1 矩阵语言/图形
V2 数据分析与处理
V3 应用工具
V4 科学数据可视化(亮点)
GUI开发工具
稀疏矩阵
Matlab的更新
V5 多维数组
结构与嵌套数组
面向目标编程
集成编辑/调试工具
实时仿真
Matlab的影响
就影响而言,至今仍然没有一个别的计算软件可与
MATLAB匹敌。
在欧美大学里,诸如应用代数、数理统计、自动控
制、数字信号处理、模拟与数字通信、时间序列分
析、动态系统仿真等课程的教科书都把MATLAB作
为内容。在那里,MATLAB是攻读学位的大学生、
硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠
的科学计算标准软件。在许多国际一流学术刊物上,
(尤其是信息科学刊物),都可以看到MATLAB的
应用。
MATLAB语言的特点:
语言简洁紧凑,语法限制不严,程序设计
自由度大,可移植性好
运算符、库函数丰富
图形功能强大
界面友好、编程效率高
扩展性强
它将一个优秀软件的易用性与可靠性、通用
性与专业性 、一般目的的应用与高深的科学
技术应用有机的相结合。
MATLAB是一种直译式的高级语言,比其它
程序设计语言容易。
MATLAB语言与其它语言的关系仿
佛和C语言与汇编语言的关系一样
计算机语言的发展
管理、可视化
数值运算
智能化
解析运算
标志着计算机语言向“智能化”方
向发展,被称为第四代编程语言。
MATLAB已经不仅仅是一个“矩阵实验室”
了,它集科学计算、图象处理;声音处理
于一身,并提供了丰富的Windows图形界面
设计方法。
MATLAB语言是功能强大的计算机高级语言,
它以超群的风格与性能风靡全世界,成功地
应用于各工程学科的研究领域。
Matlab能在各领域做什么
工业研究与开发
数学教学,特别是线性代数
数值分析和科学计算方面的教学与研究
电子学、控制理论和物理学等工程和科学学科
方面的教学与研究
经济学、化学和生物学等计算问题的所有其他
领域中的教学与研究
例:用简短命令计算并绘制在0x6范围内的
sin(2x)、sinx2 、 sin2x。
x=linspace(0,6)
y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;
plot(x,y1,x, y2,x, y3)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
阶梯图
用四种方法描述cos(x)*sin(y)图形
1
0.5
0
-0.5
-1
4
2
5
0
0
-2
-4
-5
4
3
1
2
0.5
1
0
0
-0.5
-1
-1
4
-2
2
5
0
-3
0
-2
-4
-5
-4
-4
-2
0
2
4
1.1.2 MATLAB的主要功能
1.数值计算功能
MATLAB以矩阵作为数据操作的基本单
位,还提供了十分丰富的数值计算函数。
MATLAB提供了丰富的矩阵运算处理功能,
是基于矩阵运算的处理工具。
变量 矩阵,运算 矩阵的运算。
例如: C = A + B ,A,B,C都是矩阵,是矩
阵的加运算。
即使一个常数,Y=5,MATLAB也看做是
一个11的矩阵。
2 .符号计算功能
Matlab和著名的符号计算语言Maple相结合,使得Matlab具
有符号计算功能。
符号运算即用字符串进行数学分析。
允许变量不赋值而参与运算。
用于解代数方程、微积分、复合导数、积分、二重积分、有
理函数、微分方程、泰勒级数展开、寻优等等,可求得解析
符号解。
3.绘图功能与计算结果的可视化
具有高层绘图功能——两维、三维绘图
具有底层绘图功能——句柄绘图
使用plot函数可随时将计算结果可视化
4.图形化程序编制功能
动态系统进行建模、仿真和分析的软件包
用结构图编程,而不用程序编程
只需拖几个方块、连几条线,即可实现编
程功能
5.MATLAB工具箱
MATLAB包含两部分内容:基本部分和各种可选的
工具箱。
MATLAB工具箱分为两大类:功能性工具箱和学科
性工具箱。
许多学科,在MATLAB中都有专用工具箱,现已有
30多个工具箱,但MATLAB语言的扩展开发还远远
没有结束,各学科的相互促进,将使得MATLAB更
加强大。
MATLAB主工具箱
符号数学工具箱
SIMULINK仿真工具箱
控制系统工具箱
信号处理工具箱
图象处理工具箱
通讯工具箱
系统辨识工具箱
神经元网络工具箱
金融工具箱
6.MATLAB的兼容功能
可与C语言、FORTURE语言跨平台兼容
用函数CMEX、FMEX实现
此功能不推荐使用
7.MATLAB的容错功能
非法操作时,给出提示,并不影响其操作
例如:
1/0
Warning: Divide by zero
ans =
Inf
8.MATLAB的开放式可扩充结构
Matlab 所有函数都是开放的
用户可按自己意愿随意更改
正因为此功能,使得Matlab的应用越来越广
泛
9.强大的联机检索帮助系统
可随时检索Matlab函数
可随时查询Matlab函数的使用方法
Matlab的功能产品
1.Matlab compiler
将m文件转化为c文件,加快运行速度。
2. Matlab c/c++ Graphics Library
由m文件产生GUI独立运行的c程序代码。
3. Matlab c/c++ Math Library
由m文件产生独立运行的c程序代码。
4.Databast Toolbox
在Matlab中进行对数据库的读写。
5.Databast Acquisitition Toolbox
在Matlab中直接读取数据库卡的数据。
6.Excel Link
可让Excel世界直接调用Matlab的数据。
7.Matlab Report Generator
Matlab的报告产生器。
8.Matlab Runtime Sever
将个人应用程序包成一个软件,并在没有Matlab的环
境下执行。
9.Matlab Web Sever
与NT的Web Sever合用在Sever端执行Matlab的运算
或绘图。
1.1.3 初识MATLAB
例1-1 绘制正弦曲线和余弦曲线。
x=[0:0.5:360]*pi/180;
plot(x,sin(x),x,cos(x));
例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。
p=[3,7,9,0,-23]; %建立多项式系数向量
x=roots(p);
%求根
例1-3 求积分
quad('x.*log(1+x)',0,1)
例1-4 求解线性方程组
a=[2,-3,1;8,3,2;45,1,-9];
b=[4;2;17];
x=inv(a)*b
1.2
1.2.1
MATLAB的运行环境与安装
MATLAB的运行环境
硬件环境:
(1) CPU
(2) 内存
(3) 硬盘
(4) CD-ROM驱动器和鼠标。
软件环境:
(1) Windows 98/NT/2000 或Windows XP、
Vista、windows7、linux等
(2) 其他软件根据需要选用
1.2.2 MATLAB的安装
安装Matlab 7.2系统,需运行系统自带的安
装程序setup.exe,可以按照安装提示依次操
作。
安装Matlab 7.2系统,有时侯需要安装虚拟
光驱软件,然后依次顺序安装一个或多个不
同的镜象文件。
一般安装过程都比较漫长,请耐心等待。
1.3
MATLAB集成环境
1.3.1 启动与退出MATLAB集成环境
1.MATLAB系统的启动
与一般的Windows程序一样,启动Matlab系统有3种常见方
法:
(1)使用Windows“开始”菜单
(2)运行Matlab系统启动程序
c:\matlab\bin\matlab.bat 或者
c:\matlab\bin\matlab.exe
(3) 利用桌面的快捷方式
注意:在work目录下建立startup.m 就可
以产生欢迎效果。在m文件里输入:
disp('嗨!!!怎么样?今天心情愉快么?
打起精神来!Do It !!! ..........');
启动Matlab后,将进入Matlab 7.2集成环境。
Matlab 7.2集成环境包括Matlab主窗口、命
令窗口(Command Window)、工作空间窗
口(Workspace)、命令历史窗口(Command
History)、当前目录窗口(Current Directory)
和启动平台窗口(Launch Pad)。
如图所示——————————————
2.MATLAB系统的退出
要退出Matlab系统,也有3种常见方法:
(1) 在Matlab主窗口File菜单中选择Exit
Matlab命令。
(2) 在Matlab命令窗口输入Exit或Quit命
令。
(3) 单击Matlab主窗口的“关闭”按钮。
1.3.2 MATLAB主窗口
Matlab主窗口是Matlab的主要工作界面。主
窗口除了嵌入一些子窗口外,还主要包括菜
单栏和工具栏。
1.菜单栏
在Matlab 7.2主窗口的菜单栏,共包含File、
Edit、Debug、Desktop、Window和Help 6个
菜单项。
(1) File菜单项:File菜单项实现有关文件的
操作。
(2) Edit菜单项:Edit菜单项用于命令窗口
的编辑操作。
(3) Debug菜单项:Debug菜单项用于调试
Matlab的程序。
(4) Desktop菜单项: Desktop菜单项用于设置 Matlab
的窗口布局。
(5) Window菜单项:主窗口菜单栏上的Window菜
单,包含一个子菜单Close all,用于关闭所有
打开的编辑器窗口,包括M-file、Figure、Model
和GUI窗口。
(6) Help菜单项:Help菜单项用于提供帮助信息。
2.工具栏
Matlab7.2主窗口的工具栏共提供了11个命
令按钮。这些命令按钮均有对应的菜单命
令,但比菜单命令使用起来更快捷、方便。
1.3.3 命令窗口
命令窗口是MATLAB的主要交互窗口,用
于输入命令并显示除图形以外的所有执行
结果。
MATLAB命令窗口中的“>>”为命令提示
符,表示MATLAB正在处于准备状态。
在命令提示符后键入命令并按下回车键后,
Matlab就会解释执行所输入的命令,并在命
令后面给出计算结果。
如果希望结果不被显示,则只要在语句之后
加上一个分号(;)即可。此时尽管结果没
有显示,但它依然被赋值并在Matlab工作空
间中分配了内存。
一般来说,一个命令行输入一条命令,命令
行以回车结束。但一个命令行也可以输入若
干条命令,各命令之间以逗号分隔,若前一
命令后带有分号,则逗号可以省略。
例如:
p=15, m=35
p=15; m=35
如果一个命令行很长,一个物理行之内写不
下,可以在第一个物理行之后加上3个小黑点
并按下回车键,然后接着下一个物理行继续
写命令的其他部分。3个小黑点称为续行符,
即把下面的物理行看作该行的逻辑继续。
在Matlab里,有很多的控制键和方向键可用
于命令行的编辑。
(1)方向键和控制键可以编辑修改已输入的
命令
:回调上一行命令
:回调下一
行命令
(2)命令窗口的分页输出
more off:不允许分页 more on:允许分页
more(n):指定每页输出的行数
matlab与dos兼容命令
1.dir—
清单
例如:
dir
dir
dir
可列出指定目录下的文件和子目录
可显示当前目录下的所有文件
c:\matlab
c:\matlab\*.m
2.cd—可改变当前工作目录
cd
c:\matlab\toolbox
3.type — 可显示指定文件的全部内容
type
myfile.m
4.delete — 删除指定文件
del
abc — 删除当前目录下的abc文件
del
c:\matlab\aaa.m
注意:只可删除用户文件,其它文件不要轻
易删除,否则系统会瘫痪
1.3.4 工作空间窗口
工作空间是Matlab用于暂时存储各种变量和
结果的内存空间。在该窗口中显示工作空间
中所有变量的名称、大小、字节数和变量类
型说明,可对变量进行观察、编辑、保存和
删除。
1、变量
(1)变量的命名:变量的名字必须以字母开
头(不能超过19个字符),之后可以是任意
字母、数字或下划线;变量名称区分字母的
大小写;变量中不能包含有标点符号。
使用exist来查询变量或函数是否存在?
exist('A') returns:
0 if A does not exist
1 if A is a variable in the workspace
2 if A is an M-file on MATLAB's search
path. It also returns 2 when
A is the full pathname to a file or when
A is the name of an
ordinary file on MATLAB's search path
3 if A is a MEX- or DLL-file on MATLAB's
search path
4 if A is a MDL-file on MATLAB's search
path
5 if A is a built-in MATLAB function
6 if A is a P-file on MATLAB's search path
7 if A is a directory
8 if A is a Java class
eps — 容差变量,(计算机的最小数)在 pc机上
= 2-52
pi — 圆周率的近似值3.1415926
inf或Inf — 表示正无大,定义为1/0
NaN — 非数,(Not a Number)它产生于0×,
0/0,/ 等运算,即 0*inf
i,j — 虚数单位 flops —浮点运算数
ans — 对于未赋值运算结果,自动赋给ans
nargin —函数的输入变量个数
nargout —函数的输出变量个数
数据的显示格式由format命令控制。
format只是影响结果的显示,不影响其计算
与存储;MATLAB总是以双字长浮点数(双精
度)来执行所有的运算。
如果结果为整数,则显示没有小数;如果结
果不是整数,则输出形式有:
format (short):短格式(5位定点数)
99.1253
format long:长格式(15位定点数
99.12345678900000
format short e:短格式e方式 9.9123e+001
format long e:长格式e方式
9.912345678900000e+001
format bank:2位十进制 99.12
format hex:十六进制格式
format compact:屏幕显示方式为紧凑,数据间隔小
format loose:屏幕显示方式为松散,为系统默认格式
简单的数学运算
1、常用的数学运算符
+,—,*(乘),/(左除),\(右除),
^(幂)
在运算式中,MATLAB通常不需要考虑空格;多条
命令可以放在一行中,它们之间需要用分号隔开;
逗号告诉MATLAB显示结果,而分号则禁止结果显
示。
2、常用数学函数
abs,sin,cos,tan,asin,acos,
atan,sqrt,exp,imag,real,sign,
log,log10,conj(共扼复数)等
(例exp2_2.m)
变量查询函数who与whos (简与全)
作用都是列出在matlab工作空间中已经驻
留的变量名清单
不同的是whos在给出驻留变量的同时,还
给出他们的维数及性质
永久变量
在matlab工作内存中,驻留了几个由系统
本身在启动时定义的变量,我们称为永久
变量
永久变量用who指令是查看不到的,只可
随时调用
clear :清除工作空间中所有的变量
clear变量名:清除指定的变量
1.3.5
当前目录窗口和搜索路径
1.当前目录窗口
当前目录是指MATLAB运行文件时的工作目
录,只有在当前目录或搜索路径下的文件、
函数可以被运行或调用。
在当前目录窗口中可以显示或改变当前目
录,还可以显示当前目录下的文件并提供
搜索功能。
将用户目录设置成当前目录也可使用cd命
令。例如,将用户目录c:\mydir设置为当前
目录,可在命令窗口输入命令:
cd c:\mydir
cd path:由当前目录进入path目录
cd ..:返回上一级目录
cd:显示当前目录
2.MATLAB的搜索路径
当用户在MATLAB命令窗口输入一条命令
后,MATLAB按照一定次序寻找相关的文
件。基本的搜索过程是:
(1) 检查该命令是不是一个变量。
(2) 检查该命令是不是一个内部函数。
(3) 检查该命令是否当前目录下的M文件。
(4) 检查该命令是否MATLAB搜索路径中其
他目录下的M文件。
用户可以将自己的工作目录列入Matlab搜
索路径,从而将用户目录纳入Matlab系统
统一管理。设置搜索路径的方法有:
(1) 用path命令设置搜索路径。
Path 显示matlab启动时设定的搜索路径
例如,将用户目录c:\mydir加到搜索路径下,
可在命令窗口输入命令:
path(path,’c:\mydir’)
可将你需要的目录永久纳入matlab搜索路径
打开c:\matlab\toolbox\local\matlabrc.m
在所有搜索路径后加上‘c:\mydir\;’,…
(2) 用对话框设置搜索路径
在Matlab的File菜单中选Set Path命令或在
命令窗口执行pathtool命令,将出现搜索路
径设置对话框。通过Add Folder或Add with
Subfolder命令按钮将指定路径添加到搜索路
径列表中。
在修改完搜索路径后,则需要保存搜索路径。
1.3.6 命令历史记录窗口
在默认设置下,历史记录窗口中会自动保留
自安装起所有用过的命令的历史记录,并且
还标明了使用时间,从而方便用户查询。而
且,通过双击命令可进行历史命令的再运行。
如果要清除这些历史记录,可以选择Edit菜
单中的Clear Command History命令。
1.3.7 启动平台窗口和Start按钮
Matlab 7.2的启动平台窗口可以帮助用户方
便地打开和调用MATLAB的各种程序、函数和
帮助文件。
Matlab 7.2主窗口左下角还有一个Start按
钮,单击该按钮会弹出一个菜单,选择其中
的命令可以执行MATLAB产品的各种工具,并
且可以查阅MATLAB包含的各种资源。
1.4.1
1.4
MATLAB帮助系统
帮助窗口
进入帮助窗口可以通过以下3种方法:
(1) 单击Matlab主窗口工具栏中的Help按钮。
(2) 在命令窗口中输入helpwin、helpdesk或
doc。
(3) 选择Help菜单中的“Matlab Help”选项。
1.4.2 帮助命令
Matlab帮助命令包括help、lookfor以及模
糊查询。
1.help命令
在Matlab 7.2命令窗口中直接输入help命
令将会显示当前帮助系统中所包含的所有
项目,即搜索路径中所有的目录名称。同
样,可以通过help加函数名来显示该函数
的帮助说明。
help
显示help 主题一览表
help help
显示help 的帮助信息
虽然help可以随时提供帮助,但必须知道准
确的函数名称。当不能确定函数名称时,
help就无能为力了。
2.lookfor命令
help命令只搜索出那些关键字完全匹配的结
果,lookfor命令对搜索范围内的M文件进行
关键字搜索,条件比较宽松。
lookfor命令只对M文件的第一行进行关键字
搜索。若在lookfor命令加上-all选项,则可
对M文件进行全文搜索。
3.模糊查询
Matlab 6.0以上的版本提供了一种类似模糊
查询的命令查询方法,用户只需要输入命令
的前几个字母,然后按Tab键,系统就会列出
所有以这几个字母开头的命令。
1.4.3 演示系统
在帮助窗口中选择演示系统(Demos)选项卡,
然后在其中选择相应的演示模块,或者在命
令窗口输入Demos,或者选择主窗口Help菜单
中的Demos子菜单,打开演示系统。
1.4.4 远程帮助系统
在MathWorks公司的主页
(http://www.mathworks.com)上可以找到很
多有用的信息,国内的一些网站也有丰富的
信息资源。