Matlab简介

  • 格式:doc
  • 大小:144.50 KB
  • 文档页数:33

1 MATLAB简介

MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的Cleve Moler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件.

归纳起来,MATLAB具有以下几个特点:易学、适用范围广、功能强、开放性强、网络资源丰富.

由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习.

一 MATLAB的运行

启动MATLAB 点击MATLAB图标,进入到MATLAB命令窗(MATLAB Command

Window).在命令窗内,可以输入命令、编程、进行计算.

学会使用help命令 在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次 2 提醒“敲回车键”.)学会使用help命令,是学习MATLAB的有效方法.例如:要想知道MATLAB中的基本数学函数有哪些,可以在总览的第五行查到:MATLAB中的“基本数学函数”用elfun表示,于是,可进一步键入:“help elfun”,屏幕上将出现“基本数学函数”表.(注意:help elfun之间有空格,以后不再每次提醒.)如果想了解sin函数怎样使用,可进一步键入help sin.在工具栏中点击help按扭,或点击?号按扭,与上面获取帮助信息的方法是等效的.

学会使用demo命令 在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLAB Demo Window)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type (文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法.

进入演示窗还有另一方法:在工具栏中点击Help栏,下拉式菜单中点击examples and

demos项,即可进入演示窗口.

退出 在工具栏中点击File按钮,在下拉式菜单中单击Exit MATLAB项即可.

二 变量、语句、矩阵与函数

1.变量 3 在MATLAB中,变量由字母、数和下划线组成.第一个字符必须是字母.一个变量最多由31个字符组成,并区分大小写.下面是MATLAB中表示特殊量的字符:

pi(圆周率)、eps(最小浮点数)、Inf(正无穷大)、NaN(表示0/0或inf-inf等不定值)、i,j(虚数单位)

2.语句

MATLAB语句的一般形式为:变量=表达式.当某一语句的输入完成后,按回车键,计算机就执行该命令.如果该语句末没输入其它符号或输入了逗号,将显示结果;如果句末输入了分号,将不显示结果.如果语句中省略了变量和等号,那么计算机将结果赋值给变量ans.

3.矩阵

把m×n个数排成m行n列的数表,此数表被称为m行n列的矩阵,记为

mnmnnmaaaaA1111

MATLAB中矩阵的输入方法如下:A=[a11,…,a1n;…;am1,…,amn].逗号是数之间的分隔符(也可用空格代替);分号是换行符.

3.函数

MATLAB提供了大量的函数.可以通过help查询.例如sqrt(开方)、log(常用对数)、log10(以10为底的对数)、sin(正弦)等.这些函数都遵循下列规则:对于 4 mnmnaaaaA1111

经过函数f后得:

)()()()()(1111mnmnafafafafAf

例:我们要计算sin6,可键入:y=sin(pi/6)得

y =0.5000

如果我们键入:

x=[0,pi/6,pi/3,pi/2,2*pi/3,5*pi/6,pi];

y=sin(x),得

y = 0 0.5000 0.8660 1.0000 0.8660 0.5000 0.0000

这里,对于x有更简洁的输入方法:x=0:pi/6:pi,此命令表示x从0开始,以pi/6为步长变到pi为止.

如果我们键入:

x=[0,pi/6;pi/3,pi/2];

y=sin(x) 得

y = 0 0.5000

0.8660 1.0000 5 其它的函数的用法与此类似.

三 绘图

绘制二维图形

绘制二维图形的基本命令是plot(x,y).其中x、y是1×n阶矩阵.也可以用格式plot(x1,y1,x2,y2,…)把多条曲线画在同一坐标系下.在这种格式中,每个二元对x-y的意义都与plot(x,y)的相同,每个二元对x-y的结构也必须符合plot(x,y)的要求.但二元对之间没有约束关系.以上三种格式中的x、y都可以是表达式,但表达式的运算结果必须符合上述格式要求.MATLAB的图形功能还提供了一组开关命令.关于颜色和线形用下面的方法进行控制.

plot(x,'r*') 表示用红色*号画线, plot(x,y,'b+') 表示用蓝色+号画线,

plot(x1,y1,'y-',x2,y2,'g:') 表示第一组用黄色实线画线,第二组用绿色点线画线.

MATLAB的线型字符有很多,可以随心所欲地把图画得很漂亮.下面几个线型字符大家可以选用:

S:小方块;H:六角星;D:钻石形;V:向下三角形;^:向上三角形.

MATLAB还提供了图形的加注命令:

title 题头标注. xlabel x轴标注.

ylabel y轴标注. gtext 鼠标定位标注.

grid 网格. 6 axis([xmin xmax ymin ymax]) []中给出x轴和y轴的最小、最大值

如果要把y1=6sint,y2=6cost,y3=sint2-tcost绘制在一张图上,则可输入如下的命令:

t=0:pi/12:2*pi;

y1=6*sin(t);y2=6*cos(t);y3=sin(t.^2)-t.*cos(t);

plot(t,y1,'r-',t,y2,'bo',t,y3,'k:') %用红线画y1,用蓝圈画y2,用黑虚线画y3.

如果还想在图上加一个题头,可继续键入命令:

title('曲线比较')

注:MATLAB中,%后面的语句起注释作用.特别要注意y3中的运算符号“.^”和“.*”,详情可通过help查阅,或查阅有关MATLAB的参考书.

命令polar(theta,rho)或polar(theta,rho,‘s’)绘制极坐标系的二维图形.详情可通过help查阅.

绘制三维图形

⑴ 空间曲线的绘制

绘制空间曲线的基本命令为:

plot3(x,y,z);plot3(x,y,z,'s')或plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)

其中x,y,z是同维的向量或矩阵.当它们是矩阵时,以它们的列对应元素为空间曲线上点的坐标.s是线形、颜色开关,这一点与二维曲线时的情形相同. 7 ⑵ 曲面的绘制

绘制空间曲面的基本命令为mesh(x,y,z).

如果x、y是向量,则要求x的长度=矩阵z的列维;y的长度=矩阵z的行维.以zij为竖坐标,x的第i个分量为横坐标,y的第j个分量为纵坐标绘网格图.

如果是同维矩阵,则数据点的坐标分别取自这三个矩阵.

meshc(x,y,z) 带等高线的网格图, waterfall(x,y,z) 瀑布水线图,

surf(x,y,z,'c') 可着色的曲面图,

surfc(x,y,z) 带等高线的可着色的曲面图.

以上这些命令都可用来绘制曲面图,用法与mesh完全一样.

例如:要想画马鞍面,可输入如下命令:

x=-3:1/16:3;y=x;

[x,y]=meshgrid(x,y); %(生成绘图时所需的x-y坐标)

z=-x.^2+y.^2;

mesh(x,y,z) %(或换为surfc(x,y,z) %带等高线的着色图)

3.多幅图形的创建 8 有时同一曲面或曲线需要从不同的角度去观察,或用不同的表现方式去表现,这时,为了便于比较,往往在一个窗口内画多幅图形.MATLAB用subplot命令实现这一目的.具体格式为:

subplot(m,n,p) 使用此命令后,把窗口分为m×n个图形区域,p表示当前区域号.

例如把sinx,cosx,atanx,sinxcosy画在一个窗口内,可键入:

x=0:pi/6:2*pi;y=x;

z1=sin(x);z2=cos(x);z3=atan(x);

subplot(2,2,1); plot(x,z1,'r',x,z2,'g')

subplot(2,2,2);plot(x,z3,'m')

subplot(2,2,3);[x,y]=meshgrid(x,y);z4=sin(x).*cos(y);

mesh(x,y,z4);subplot(2,2,4);surfc(x,y,z4)

四 关系运算和逻辑运算

1.关系运算符

〈 小于 〈= 小于等于 〉 大于

〉= 大于等于 = = 等于 ~= 不等于

运算法则:如果两个比较量a、b是标量,那么,当a、b之间的关系成立时输出值为1;否则输出值为0. 9 如果两个比较量a、b是相同维数的数组,那么就按标量的运算法则,对a、b的对应元素进行运算,最后的输出结果为一个与a(或b)同维的0—1数组.

如果a是标量,b是数组,那么按标量的运算法则将a与b的每个元素逐一比较,最后的输出结果为一个与b同维的0—1数组.

在算术运算、关系运算中,算术运算优先.

2.逻辑运算符

& 与 | 或 ~ 非

运算法则:参与逻辑运算的量称为逻辑量,非零逻辑量为“真”,用1表示;零逻辑量为“假”,用0表示.

如果参与逻辑运算的两个量a、b都是标量,那么: