找回密码
 立即注册
查看: 233|回复: 0

Matlab入门

[复制链接]
发表于 2022-6-14 18:53 | 显示全部楼层 |阅读模式
自己遇到的安装过程中的深坑,刚开始装的是2019版本很大19多个G,电脑上装了卸卸了装捣鼓好长时间,最后装的2016版本,
MATLAB的基本使用


  • 实验目的
1.了解MATALB程序设计语言的基本特点,熟悉MATLAB软件的运行环境;
2.掌握变量、函数等有关概念,掌握M文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力;
3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。

  • MATLAB的基础知识
  • MATLAB简介
MATLAB是由美国Math  Works公司推出的软件产品。MATLAB是“Matric  Laboratory”的缩写,意及“矩阵实验室”。MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。许多人赞誉它为万能的数学“演算纸”。MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。它还是一种有利的教学工具,它在大学的线性代数课程以及其它领域的高一级课程的教学中,已成为标准的教学工具。

  • MATLAB的启动和退出
1.MATLAB的启动有如下两种方式:
方式一:双击操作系统桌面上的MATLAB快捷方式,即可启动并打开MATLAB命令窗口。
方式二:单击【开始】菜单,依次指向【程序】→【MATLAB】→【MATLAB 6.5】即可启动并打开MATLAB命令窗口。
2. MATLAB的退出
退出MATLAB非常简单,只需在MATLAB命令窗口内键入命令quit或单击命令窗口的【关闭】按扭即可。

  • MATLAB使用界面简介
打开MATALB后,缺省的操作桌面如图1.1所示。常用的有命令窗、历史命令窗、当前目录浏览器、工作空间浏览器、和交互界面分类目录窗5个窗口。如图1.1所示。

  • 命令窗(Command Window)

    该窗缺省地处在MATLAB桌面的右侧,该窗功能是进行各种MATLAB操作的主要窗口。在该窗内,可键入各种送给MATLAB运作的指令、函数、表达式;显示除图形外的所有运算结果。


图1.1 MATLAB操作桌面的缺省外貌

  • 历史命令窗(Command History)

该窗缺省地处于MATLAB桌面的左下方前台。该窗记录已经运作过的指令、函数、表达式;允许用户对它们进行选择复制、重运行、及产生M文件。

  • 当前目录浏览器(Current Directory Browser)

     该浏览器缺省地位于MATLAB桌面左下方的后台。在此交互界面中,可以进行当前目录的设置;展示相应目录上的M、MDL等文件;复制、编辑和运行M文件;装载MAT数据文件。

  • 工作空间浏览器(Workspace Browser)

     该交互界面缺省地位于MATLAB桌面的左上方后台。该窗口列出MATLAB工作空间中所有的变量名、大小、字节数;在该窗中,可对变量进行观察、编辑、提取和保存。

  • 交互界面分类目录窗(Launch Pad)

该交互界面缺省地位于MATLAB桌面的左上方前台。该窗以可展开的树状结构列着MATLAB提供的所有交互界面,包括:帮助界面、演示界面、各种应用交互界面。用户若双击该树状结构上的分类图标,就可展现出相应的交互界面。
四. 帮助信息的获取
   MATLAB里有以下几种方法可获得帮助:帮助命令(help)、look for命令、帮助窗口(help window)、帮助桌面(help desk)、在线帮助页或直接通过网络连接到Mathworks公司。
1. 帮助命令(help)
帮助命令是查询函数相关信息的最直接方式,信息会直接显示在命令窗口中。如果你知道要找的题材(topic)是什么,直接键入help <topic>。
例1-1例如在命令窗口键入help sin ,会出现如下解释:
SIN    Sine.
         SIN(X) is the sine of the elements of X.
Overloaded methods
         help sym/sin.m
2. lookfor命令
   它可以从你键入的关键字(即使这个关键字并不是MATLAB的指令)列出所有相关的题材,和help相比,lookfor所能覆盖的范围更宽,可查找到包含在某个主题中的所有词组或短语。
例1-2 例如在命令窗口键入lookfor sin会显示:
java.m: %Using Java from within MATLAB
syntax.m: %   You can enter MATLAB commands using either a FUNCTION
SUBSINDEX Subscript index.
ISINF  True for infinite elements.
ACOS   Inverse cosine.
ACOSH  Inverse hyperbolic cosine.
ASIN   Inverse sine.
ASINH  Inverse hyperbolic sine.
COS    Cosine.
COSH   Hyperbolic cosine.
SIN    Sine.
……
3. 帮助窗口(help window)
帮助窗口提供与帮助命令相同的信息,但窗口式的帮助界面更为方便直接。在MATLAB命令窗口中有三种方法进入帮助窗口:

  • 选取帮助菜单里的“help window”项
  • 双击菜单条上的问号按钮
  • 键入helpwin
4. 帮助桌面(help desk)
通过在命令窗口中选择帮助菜单的“Help Desk”选项后键入help desk命令即可进入帮助桌面。这两种方法都会自动启动浏览器,用户可利用浏览器的功能来浏览帮助。
5. 在线帮助页
   帮助桌面的在线帮助均有相应的PDF格式文件,可以用Adobe Acrobat Reader浏览器打开。可以方便的翻页和查找。用户选中帮助桌面的关于PDF格式文件的选项,或是在命令窗口键入doc,便会自动打开文件。
6. Mathworks网站
   对于已连入Internet的用户,可通过HelpDesk直接访问Mathworks公司的网站www.mathworks.com询问有关问题。
五.MATLAB的数值计算功能

  • 变量
和其它高级语言一样,MATLAB也是使用变量来保存信息。变量由变量名表示,变量的命名应遵循如下规则:
●  变量名必须以字母开头。
●  变量名可以由字母、数字和下划线混合组成。
●  变量名区分字母大小写。
●  变量名的字符长度不应超过31个。
在MATLAB内部还存在着一些系统默认的特殊变量和常数,如表1.1
表1-1    MATLAB内部的特殊变量和常数
变量或常数含义
虚数单位
Ans在没有定义变量名时,系统默认的变量名为ans
Pi圆周率π
Inf无穷大
NaN表示不定值,由Inf/Inf或0/0产生
Why提供几乎任何问题的简捷回答
MATLAB的变量分为字符变量和数值变量两种,字符变量必须用单引号括起来。
例1-3 例如,用户可输入:
a=’happy new year’
则表示将字符串’happy new year’赋值给字符变量a。
若用户输入:
b=365
则表示将数值356赋值给数值变量b。
和其它高级语言不同的是,MATLAB使用变量时不需要先对变量类型进行说明,MATLAB会自动根据所输入的数据来决定变量的数据类型和分配存贮空间。
2. 数值
  在MATLAB内部,每一个数据元素都是用双精度来表示和存储的,大约有16位有效数字。其数值有效范围约为10-308 ~10+308。
但在其进行数据输入输出时,MATLAB却可以用不同的格式。如果参加运算的每一个元素均为整数,则MATLAB将用不加小数点的纯整数格式显示运算结果,否则,按默认的输出格式显示结果。MATLAB的默认格式为short格式,该格式显示运算结果为保留小数点后4位有效数字。用户可以通过format命令改变输出格式为long,以得到更多的有效数字(小数点后14位)。需要注意的是,数据输出格式的改变并不影响该数据在MATLAB内部的存储精度。设置为short和long输出格式的命令分别为:
format short
format long
MATLAB通常用十进制数来表示一个数,亦可用科学计数法来表示一个数。另外,MATLAB还可以进行复数运算,复数运算可以由如下语句来产生:
c=a+j*b (或c=a+i*b)        将实部为a虚部为b的复数值赋值给复变量c
c=a*exp(j*b) (或c=a*exp(i*b))   将模为a幅角为b的复数赋值给复变量c
3. 矩阵
矩阵是MATLAB进行数据处理和运算的基本元素,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的。我们通常意义上的数量(标量)在MATLAB系统中是作为1×1的矩阵来处理的,而仅有一行或一列的矩阵在MATLAB中称为向量。

  • 矩阵的创建
MATLAB中矩阵的输入一般有以下几种方法:
①直接输入矩阵元素。直接输入矩阵元素必须注意:各元素之间用空格或逗号间隔,用分号(“;” )或回车结束矩阵行,用中括号“[ ]”把矩阵所有元素括起来。

  • 在命令窗口输入如下形式:

       A=[1,2,3;4,5,6;7,8,9]
   或  A=[1 2 3
          4 5 6
          7 8 9]
结果为
A =
       1     2     3
       4     5     6
       7     8     9
②MATLAB中有许多特殊矩阵,可直接调用MATLAB函数产生。如表1.2所示。
                 表1.2  MATLAB中的特殊矩阵
特殊矩阵调用格式含义
onesA=ones(m,n)生成m×n大小的全1矩阵
zerosA=zeros(m,n)生成m×n大小的全0矩阵
eyeA=eye(m,n)生成m×n大小的单位阵
randA=rand(m,n)生成m×n大小的随机矩阵

  • 矩阵的下标
在MATLAB系统中,矩阵的元素是通过其行、列的标号来标识的,矩阵元素所处的行号和列号称为该元素的下标。矩阵元素可以通过其下标来引用,A(i,j)即表示矩阵A第i行第j列的元素。
例1-5 定义矩阵A如下所示:
A=[1.1  1.2  1.3
1.4  1.5  1.6
1.7  1.8  1.9]
则A(2,3)表示矩阵A第2行第3列的元素1.6。若输入语句:
X=A(1,1)+1(2,2)+A(3,3)
则X即是矩阵A对角线元素之和,运行结果为
X=  4.5000
★注意:在MATLAB中,矩阵下表的行、列号都是从1开始的。
3)利用外部数据文件(*.mat)保存和装载矩阵
在运行过程中,有时需要将矩阵数据长期保留下来,以备以后使用,这时就可以使用在MAT文件来对矩阵数据进行保存,在需要时又将其装载到MATLAB环境中。
MAT文件(即扩展名为mat的文件)是MATLAB保存数据的一种标准格式的二进制文件。MAT文件的生成和调用有专用命令save和load来进行。
用户可以将已定义过的矩阵(变量)以MAT文件的格式存入到磁盘上,命令格式为:
save 路径\文件名 变量名
save命令可同时将多个矩阵(变量)保存到一个MAT文件中,此时变量名之间需用空格分开。例如,用户输入命令:
save c:\my a b
则表示将变量a、b 以文件名my.mat保存到C盘根目录下。若路径默认,则MATLAB自动将变量保存到其默认的目录(work)中。
以MAT文件保存的矩阵,用户在使用MATLAB的任何时候均可用load命令装载到MATLAB的工作空间中。例如,要将上述保存的变量a、b重新装载到MATLAB的工作空间,只需键入命令:
load c:\my
4)矩阵和数组的运算
在MATLAB中,数组也是一个非常重要的概念,矩阵在某些情况下可视为二阶的数值型数组。但是在MATLAB中,数组和矩阵运算规则却有着较大的区别。例如,两矩阵相乘和两数组相乘所遵循的运算规则就是完全不相同的。具体运算规则如表1.3所示。
表1.3  MATLAB中关于矩阵和数组的算术运算符
运算符名  称指令示例说  明
+A+B若A、B为同维矩阵,则表示A与B对应元素相加;若其中一个矩阵为标量,则表示另一矩阵的所有元素加上该标量
-A-B若A、B为同维矩阵,则表示A与B对应元素相减;若其中一个矩阵为标量,则表示另一矩阵的所有元素减去该标量
*矩阵乘A*B矩阵A与B相乘,A 和B均可是向量或标量,但A和B的维数必须符合矩阵乘法的定义
.*数组乘A .* B矩阵A与B对应元素相乘,A与B必须为同维矩阵或其中之一为标量
^矩阵乘方A^BA、B均为标量时,表示A的B次方幂;A为方阵,B为正整数时,表示矩阵A的B次乘积;A为方阵,B为负整数时,表示矩阵A逆矩阵的B次乘积;当A、B均为矩阵时无定义
. ^数组乘方A . ^ B矩阵A的各元素与矩阵B的对应元素的乘方运算,即[A(i,j)^B(i,j)],A、B必须为同维矩阵
\矩阵左除A\B方程A*X=B的解X
. \数组左除A . \ B矩阵B的各元素与矩阵A的对应元素,A与B必须为同维矩阵或其中之一为标量
/矩阵右除A/B方程X*B=A的解X
. /数组右除A . / B矩阵A的各元素与矩阵B的对应元素,A与B必须为同维矩阵或其中之一为标量
共轭转置A ’矩阵A的共轭转置
另外,在MATLAB内部有一些特殊的函数用于对矩阵进行运算,如下所示。
●size( )函数
  size( )函数用于计算矩阵的行数和列数,其调用格式为:
  d=size(a)     将矩阵a的行数和列数赋值给变量d
  [m,n]=size(a)   将矩阵a的行数赋值给m、列数赋值给n
●length( )函数
  length( )函数用于计算矩阵的长度(列数),其调用格式为:
  a= length(b)  将矩阵b的列数赋值给变量a
●sum( )函数
  sum( )函数用于实现矩阵元素的求和运算,其调用格式为:
  sum(a)  若a为向量,则该调用格式将计算出向量a所有元素之和。若a为矩阵,则该调用格式将产生一行向量,其元素分别为矩阵a的各列元素之和。
●max( )函数
  max ( )函数用于求出矩阵元素的最大值,其调用格式为:
  max (a)  若a为向量,则该调用格式求出向量a所有元素的最大值。若a为矩阵,则该调用格式将产生一行向量,其元素分别为矩阵a的各列元素的最大值。
4.运算符
MATLAB的基本运算为算术运算、关系运算、逻辑运算和特殊运算等,每一类运算都有自己专用的运算符。关于矩阵和数组的算术运算符已在表1.3中列出,如下表1.4、表1.5、表1.6分别列出了MATLAB的关系运算符、逻辑运算符、特殊运算符和合其对应的功能与示例。
表1.4  MATLAB的关系运算符表             表1.5  MATLAB的逻辑运算符
运算符名称
==等于
~=不等于
>大于
<小于
>=大于等于
<=小于等于
运算符名称
&逻辑与
|逻辑或
~逻辑非


表1.6  MATLAB的特殊运算符
运算符名称说明
冒号用于产生向量
[  ]方括号用于创建和表示矩阵
分号用于分隔矩阵的行或不显示中间结果
%百分号用于注释语句
逗号用于分隔矩阵列
=等号用于赋值
( )圆括号用于函数调用和指定运算顺序
六.程序流程控制
MATLAB为用户提供了丰富的程序结构语句用来实现用户对程序流程的控制。

  • 循环控制语句
当程序段中的某段指令需要根据一定能够的条件多次重复执行时,就需要用到循环控制。在MATLAB中,循环控制由for语句和while语句实现。
  1)for 循环语句
for 循环语句的格式为:
for 变量=表达式
   语句组
end
在上述格式中,end是必需的,不可默认。表达式是一个矩阵,语句组则是一组合法的MATLAB命令。
    for循环语句则执行过程是:从表达式的第一列开始,依次将表达式(矩阵)的各列之值赋值给变量,然后执行语句组中的语句,直到最后一列。
    for 语句的典型格式是表达式为冒号运算的行向量,即:
for  i=m:p:n
    语句组
end
其中m为循环起始值,n为循环终止值,p为步长值。
例1-6. 我们用for语句来实现求和运算s=1+3+5+7+…+99,对应的MATLAB命令如下:
s=0;
for  i=1:2:99
    s=s+I;
end
s
运行结果为:  s=
                 2500
在上述格式中,步长p可以默认,系统将默认步长为1。
例1-7. 我们可用如下语句来实现求和运算s=1+2+3+4+…+100
s=0;
for  I=1:100
   s=s+i;
end
s
运行结果为:
s=
   5050
for语句也可实行多重循环的嵌套,其格式为:
   for  变量1=表达式1
       for  变量2=表达式2
       语句组
       end
  end
★注意:在用for语句实现多重循环时,for和end必须成对出现。
  2)while语句
   while语句用来实现在某一逻辑关系控制下的循环。while语句的格式为:
   while  关系表达式
         语句组
   end
   在while语句中,end也是必需的,不可默认。while语句的执行过程是:首先判断关系表达式是否成立,如果成立则运行语句组中的语句,否则停止循环。通常是通过在语句中对关系表达式进行改变来控制循环是否结束。
例1-8. 我们用while语句来实现下列级数求和:


命令如下:
s=0;
n=1;
while  n<=100
s=s+1/n;
n=n+1;
end
s
运行结果为:
s=
  5.1874

  • 条件控制语句
和其他高级程序语言一样,MATLAB也为用户提供了方便的条件控制语句,用以实现程序的条件分支运行。实现条件控制的MATLAB命令是if 语句和switch语句。

  • if 语句

if语句有两种格式。当分支条件之有两种情况时,可采用if语句的第一种格式,即
   if  表达式
语句组1
else
    语句组2
end
上述if语句的运行结果是,如果表达式成立,则运行语句组1,若表达式不成立,则运行语句组2。
当程序运行的分支条件多于两个时,则可采用if语句的第二种格式,即:
    if   表达式1
        语句组1
    elseif   表达式2
语句组2
     else
           语句组3
    end
上述if语句的运行结果是,若果表达式1成立,则运行语句组1;若表达式2成立,则运行语句组2;否则,则运行语句组3。

  • switch语句

当程序运行过程中需要根据某个变量的多种不同取值情况来运行不同的语句时,就要用到switch语句。
switch语句适合于多个条件的分支程序,其基本格式为:
switch  控制变量
case  变量1
语句组1
case  变量2
语句组2
case  变量3
语句组3

         otherwise
语句组n
   end
    在上述格式中,switch语句通过判断控制变量的取值情况来决定运行哪一个语句组,即当控制变量的值为变量值1时,则运行语句组1;当控制变量的值为变量值2时,则运行语句组2,依此类推。若所有条件均不满足,则运行otherwise后的语句组。
注意,在switch语句中,end是必需的,不可默认。
七. M文件
MATLAB为用户提供了专用的M文件编辑器,用以帮助用户完成M文件的创建、保存及编辑等工作。
1. 创建新M文件
利用M文件编辑器创建新M文件有如下两种方法:
方法一:启动MATLAB,选中命令窗口菜单栏【File】菜单下【New】菜单选项的【M-File】命令,打开MATLAB的M文件编辑窗口。
方法二:单击MATLAB命令窗口工具栏的“New M-File”图标按钮,也可打开M文件编辑器。
2. 保存M文件
当用户的M文件己输入或编辑完毕后,则可将M文件保存到磁盘上。保存M文件的方法是,单击M文件编辑器窗口的工具栏中的“Save”图标按钮或选中M文件编辑器窗口菜单栏【File】菜单的【Save】命令,打开M文件保存对话框。
如果是新建M文件,则系统默认的文件名为“Untitledl.m”,用户可以对要保存的文件进行重新命名。系统默认的文件保存目录为“work”,用户也可以通过保存对话框对文件保存位置进行更改和设置。当保存的文件名和保存位置设定完成后,按下【保存】按钮,即可将M文件保存到指定位置。
3. 打开M文件
若需要对己保存过的M文件进行修改和编辑,则可单击MATLAB命令窗口工具栏的“Open file”图标按钮或选中命令窗口菜单栏【File】菜单下的【Open】命令,系统即启动M文件编辑器并打开用户指定的M文件。
4. 搜索与执行M文件
M文件中的命令是通过在MATLAB命令窗口中键入M文件的文件名并按下回车键来执行的。当用户在命令窗口中键入M文件的文件名并按下回车键后,系统先搜索该文件,若该文件存在,则以解释方式按顺序逐条执行M文件语句。
“work”目录是系统M文件的默认保存目录。若用户的M文件保存在“work”目录以外的其他位置,则可通过如下两种方式在MATLAB命令窗口中直接调用该M文件。
方式一:启动MATLAB后,用“CD”命令将当前工作目录更改为M文件的保存目录,如: cd A:\mydata
方式二:用“path”命令将M文件的保存目录添加到MATLAB的默认搜索路径中。设待执行的M文件的保存位置为“D:\myfile”,则添加的搜索路径的命令为:
path(path,’D:\myfile’)
运行该命令后,即可直接在MATLAB命令窗口中直接调用并执行D:\myfile目录下的所有M文件。
八. 函数文件
函数文件是M文件的另一种类型,它也是由MATLAB语句构成的ASCII码文本文件,扩展名为m。用户可用前述的M文件的创建、保存及编辑的方法来进行函数文件的创建、保存与编辑,但特别需要注意以下几点:
函数文件必须以关键字"function"开头。
函数文件的第1行为函数说明语句,其格式为:
function  [返回参数1,返回参数2,…]=函数名(传入参数1,传入参数2,…)
其中函数名为用户自己定义的函数名(与变量的命名规则相同)。
函数文件保存的文件名应与用户定义的函数名一致,例如,若函数文件说明语句中定义的函数名为"example",则该函数文件保存的文件名为 ”example . m”。
  用户可通过函数说明语句中的返回参数及传入参数来实现函数参数传递。返回参数和传入参数并不是必需的。下面是函数文件调用及参数传递的例子。
  例1-9. 首先创建如下所示的函数文件并保存。
     function [s,m]=pjz(a)  %定义函数文件pjz.m,a为传入参数,m、s为返回参数
l=length(a);   %计算传入向量长度
s=sum(a);      %对传入向量a求和并赋值给s
m=s/l;         %计算传入向量的平均值并赋值给返回向量m
上述函数文件定义了1个新的函数pjz,其作用是对指定向量求和及平均值,并通过向量s、m返回计算结果。用户可通过如下所示的命令调用该函数:
a=1:9;
[s,m]=pjz(a)
运行结果为:
s =
                 45
m =
     5
九. MATLAB的可视化
    MATLAB在数据可视化方面的表现力很强。它的图形处理能力不仅功能强大,而且充分考虑了高低不同层次用户的不同需求,系统具有两个层次的绘图指令:一个层次是直接对图形句柄进行操作的底层绘图指令,它具有控制和表现数据图形能力强,控制灵活多变等优点,对于有较高和特殊需求的用户而言,该层次能够完全满足他们的需求;另一层次是在底层指令基础上建立的高层绘图指令,它的指令简单明了,易于掌握,适用于普通用户。
常用的MATLAB绘图语句有figure、plot、subplot、stem,等,图形修饰语句有title、axis、text等。
1.figure语句
figure语句有两种用法,只用一句figure命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。figure(n)表示将第n号图形窗口作为当前的图形窗口,并将其显示在所有窗口最前面;如果该图形窗口不存在,则新建一个窗口,并辅以编号n。
2. plot语句
线型绘图函数,将点和点之间用直线段连接。用法为plot(x,y,’s’),参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细,,通常可以省略。常用方法如表1.7所示。
表1.7  plot命令的参数及其含义
参数含义参数含义参数含义
y黄色.实线
m紫色o虚线
c青色×打叉-.点划线
r红色+加号--破折线
g绿色*星号^向上的三角形
b蓝色s正方形<向左的三角形
w白色d菱形>向右的三角形
k黑色v向下的三角形p五角星形

  • stem语句
绘制离散序列图,常用格式stem(y)和stem(x,y)分别和相应的plot的函数绘图规则相同,只是用stem命令绘制的是离散序列图。
4. subplot语句
subplot(m,n,i) 图形显示时分割窗口命令,把一个图形窗口分为m行,n列,m×n个小窗口,并指定第i个小窗口为当前窗口。
  5. 绘图修饰命令
在绘制图形时,我们通常需要为图形添加各种标注以增加可读性。在plot语句后使用title(’标题’)可以在图形上方添加标题;使用xlabel(‘标记’)或ylabel(‘标记’)为X轴和Y轴添加说明;使用text(X值、Y值、’想加的标示’)可以在图形中任意位置添加标示;使用axis([xmin,xmax,ymin,ymax])设置坐标轴的最小最大值;gtext(‘string’)利用鼠标添加说明性文本信息;grid on(off)给当前图形标记添加(取消)网格。
例1-10 用MATLAB语句绘正弦图,其运行结果见图1.2
x=0:0.01*pi:2*pi;    %定义x向量
figure(1);           %创建一个新的图形窗口,编号为1
subplot(2,2,1);       %将窗口划分为2行2列,在第1个窗口中作图
plot(x,sin(x));       %画图
title('正弦线');      %给图形加标题
subplot(2,2,2);      %在第2个窗口中作图
plot(x,sin(x),'r');     %画一正弦波,红色
xlabel('X');         %给x轴加说明
ylabel('SIN(X)');    %给y轴加说明
subplot(2,2,3);      %在第3个窗口中作图
plot(x,sin(x),'--');    %画一正弦波,破折线
subplot(2,2,4);      %在第4个窗口中作图
plot(x,sin(x),'r+');   %画一正弦波,红色加号
text(4,0,'注记');     %在位置(4,0)处加一注记


图1.2  例1-10的运行结果

  • 添加图例函数legend( )

基本格式:legend(‘string1’,’string2’,…)
          legend(…,pos)
功能:给图加图例,对于每个已经画出的曲线,可以配置想要的图例。
参数:‘string1’,’string2’,…——解释图例的字符串
pos —— 决定放置图例的位置
pos= -1 将图例放在轴边距外右边
pos= 0  将图例放在轴边距内右边占用尽量少的点
pos= 1  将图例放在轴的右上方(缺省值)
pos= 2  将图例放在轴的左上方
pos= 3  将图例放在轴的左下方
pos= 4  将图例放在轴的右下方

  • legend用法举例

  x=-pi:pi/20:pi;
plot(x,cos(x),'-ro',x,sin(x),'-.b')
h=legend('cos','sin',2)



                      图1.3  例1-11的运行结果
【三】上机练习

  • 仔细预习第二部分内容,关于MATLAB的基础知识。
  • 熟悉MATLAB环境,将第二部分所有的例子在计算机上练习一遍
  • 已知矩阵


。求A*B,A .* B,比较二者结果是否相同。并利用MATLAB的内部函数求矩阵A的大小、元素和、长度以及最大值。

  • Fibonacci数组的元素满足Fibonacci规则:


;且


。现要求该数组中第一个大于10000的元素。

  • 在命令窗口中完成;
  • 利用M文件完成;
  • 自己定义一个函数文件,并在命令窗口中调用该函数完成。


      5.在同一个图形窗口的两个子窗口中分别画出


(红色、虚线)和


(蓝色、星号)的波形。要求有标题,x、y轴有标注。
【四】思考题

  • 在语句末加分号“;”和不加分号有什么区别?
  • M文件和函数文件有什么异同之处?
  • 矩阵乘(*)和数组乘(.*)有何不同?


【五】实验报告要求

  • 简述实验目的;
  • 实验内容及结果分析:

    • 附上源程序清单,要求可读性好,必要处要加注释;
    • 实验结果,包括运行的数值结果或图形;
    • 结果分析,正确与否,误差原因。



  • 简要回答思考题;
  • 简述本次实验的体会和建议。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 14:40 , Processed in 0.092799 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表