最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

matlab软件的使用方法

来源:动视网 责编:小OO 时间:2025-09-28 00:28:50
文档

matlab软件的使用方法

MATLAB软件使用简介默认分类2007-03-1521:26:49阅读4106评论8  字号:大中小 订阅MATLAB软件使用简介MATLAB是一个功能强大的常用数学软件,它不但可以解决数学中的数值计算问题,还可以解决符号演算问题,并且能够方便地绘出各种函数图形。MATLAB自1984年由美国的MathWorks公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。这里主要以适用于Windows操作系统的MATLAB5.3版本向读者介绍MATLAB的使用命令和内容。
推荐度:
导读MATLAB软件使用简介默认分类2007-03-1521:26:49阅读4106评论8  字号:大中小 订阅MATLAB软件使用简介MATLAB是一个功能强大的常用数学软件,它不但可以解决数学中的数值计算问题,还可以解决符号演算问题,并且能够方便地绘出各种函数图形。MATLAB自1984年由美国的MathWorks公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。这里主要以适用于Windows操作系统的MATLAB5.3版本向读者介绍MATLAB的使用命令和内容。
MATLAB 软件使用简介

默认分类 2007-03-15 21:26:49 阅读4106 评论8   字号:大中小 订阅 

MATLAB 软件使用简介

MATLAB 是一个功能强大的常用数学软件, 它不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。MATLAB自1984年由美国的MathWorks公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。这里主要以适用于Windows操作系统的MATLAB5.3版本向读者介绍MATLAB的使用命令和内容。

 

一、MATLAB 的进入/退出

   MATLAB 的安装成功后, 系统会在Windows【开始】菜单的【程序】子菜单中加入启动MATLAB命令的图标, 用鼠标单击它就可以启动MATLAB系统,见图2.1。

 

图2.1 启动MATLAB

 

 

 

启动MATLAB后, 屏幕上出现MATLAB命令窗口:

 

 

图2.2  MATLAB命令窗口

    

     图2.2的空白区域是MATLAB 的工作区(命令输入区), 在此可输入和执行命令。

退出MATLAB系统像关闭Word文件一样, 只要用鼠标点击MATLAB系统集成界面右上角的关闭按钮即可。

 

二、 MATLAB 操作的注意事项

 

l          在MATLAB工作区输入MATLAB命令后, 还须按下Enter键, MATLAB才能执行你输入的MATLAB命令, 否则MATLAB不执行你的命令。

l          MATLAB 是区分字母大小写的。

l          一般,每输入一个命令并按下Enter键, 计算机就会显示此次输入的执行结果。(以下用↙表示回车)。如果用户不想计算机显示此次输入的结果,只要在所输入命令的后面再加上一个分号“;”即可以达到目的。如:

          x= 2 + 3 ↙     x=5    

          x = 2 + 3 ; ↙  不显示结果5

l          在MATLAB工作区如果一个表达式一行写不下,可以用在此行结尾处键入三个英文句号的方法达到换行的目的。如:

            q=5^6+sin(pi)+exp(3)+(1+2+3+4+5)/sin(x)…

                 -5x+1/2-567/(x+y)

l          MATLAB 可以输入字母、汉字,但是标点符号必须在英文状态下书写。

l          MATLAB 中不需要专门定义变量的类型,系统可以自动根据表达式的值或输入的值来确定变量的数据类型。

l          命令行与M文件中的百分号“%”标明注释。在语句行中百分号后面的语句被忽略而不被执行,在M文件中百分号后面的语句可以用Help命令打印出来。

 

三、MATLAB的变量与表达式

l          MATLAB的变量名

MATLAB的变量名是用一个字母打头,后面最多跟19个字母或数字来定义的。如x,y,ae3,d3er45都是合法的变量名。应该注意不要用MATLAB中的内部函数或命令名作为变量名。MATLAB中的变量名是区分大小写字母的。如在MATLAB中,ab与 Ab表示两个不同的变量。列出当前工作空间中的变量命令为

Who         将内存中的当前变量以简单形式列出;

Whos        列出当前内存变量的名称、大小、类型等信息;

Clear        清除内存中的所有变量与函数。

l          MATLAB的运算符

  数算符:+(加号),-(减号),*(乘号), \(左除), / (右除) , ^ (乘幂) 

  关系运算符:< (小于),  > (大于), <= (小于等于), >= (大于等于),

               = =(等于), ~= (不等于)

  逻辑运算符:&(逻辑与运算), |( 逻辑或运算), ~( 逻辑非运算)

l          MATLAB的表达式及语句

表达式由运算符、函数、变量名和数字组成的式子。MATLAB语句由变量、表达式及MATLAB命令组成,用户输入的语句由MATLAB 系统解释运行。MATLAB 语句的2种最常见的形式为:

形式1:表达式

形式2:变量=表达式

    在第一种形式中,表达式运算后产生的结果如果为数值类型,系统自动赋值给变量ans,并显示在屏幕上。

例1:用两种形式计算 算术运算结果。

解:Matlab命令为

形式1:

5^6+sin(pi)+exp(3) ↙

ans =

1.55e+004

形式2:

a=5^6+sin(pi)+exp(3) ↙

a =

1.55e+004

如果在表达式的后面加“;”,有

   a=5^6+sin(pi)+exp(3);↙

执行后不显示运算结果。

 

例2:已知矩阵 ,对它们做简单的关系与逻辑运算

解:Matlab命令为

A=[1,2;1,2]; ↙

B=[1,1;2,2]; ↙

C=(AC=

     0     0

     0     0

四、MATLAB的数据显示格式

虽然在MATLAB系统中数据的存储和计算都是双精度进行的,但MATLAB可以利用菜单或format命令来调整数据的显示格式。Format命令的格式和作用如下:

l          Format|format short          5位定点表示

l          Format long                15位定点表示

l          format short e               5位浮点表示

l          Format long e              15位浮点表示

l          Format short g       系统选择5位定点和5位浮点中更好的表示

l          Format long g        系统选择15位定点和15位浮点中更好的表示

l          Format rat           近似的有理数的表示

l          Format hex          十六进制的表示

l          Format bank          用元 角分(美制)定点表示

l          Format compact       变量之间没有空行

l          Format loose          变量之间有空行

   例3:对数 用五位定点、十五位定点以及有理数形式表示出来。

解:Matlab命令为

a=5+sin(7)format short , a ↙  

a =

    5.6570

format rat,a↙

a =

  3117/551   

format long,a↙

a =

   5.65698659871879

   

五、MATLAB 中的常用函数

MATLAB的常用内部函数有:

 

表2.1 常用的三角函数

函数名称

 函数功能sinx

 函数名称

 函数功能

 

sin(x)

 正弦函数cosx

 asin(x)

 反正弦函数asinx

 

cos(x)

 余弦函数tanx

 acos(x)

 反余弦函数acosx

 

tan(x)

 正切函数cotx

 atan(x)

 反正切函数atanx

 

cot(x)

 余切函数cotx

 acot(x)

 反余切函数acotx

 

sec(x)

 正割函数secx

 asec(x)

 反正割函数asecx

 

sinh(x)

 双曲函数sinhx

 asinh(x)

 反双曲函数asinhx

 

 

 

 

表2.2 常用的计算函数

函数名称

 函数功能

 

abs(x)

 求变量x绝对值|x|

 

angle(x)

 复数x的相角

 

sqrt(x)

 求变量x的算术平方根 

 

real(x)

 求复数x的实部

 

image(x)

 求复数x的虚部

 

conj(x)

 求复数x的共轭复数

 

round(x)

 四舍五入至最近整数

 

fix(x)

 无论正负,舍去小数至最近整数

 

ceil(x)

 加入正小数至最近整数

 

floor(x)

 舍去正小数至最近整数

 

rat(x)

 将实数化为分数表示

 

rats(x)

 将实数化为多项分数表示

 

sign(x)

 符号函数

 

rem(x,y)

 求x除以y的余数

 

(x,y)

 整数x和y的最大公因数

 

lcm(x,y)

 整数x和y的最小公倍数

 

exp(x)

 自然指数 

 

pow2(x)

 2的指数 

 

log(x)

 自然对数lnx

 

log2(x)

 以2为底的对数 

 

log10(x)

 以10为底的对数 

 

 

六、矩阵的操作

    MATLAB的基本单位是矩阵,它是的MATLAB精髓,掌握矩阵的输入、各种数值运算以及矩阵函数的使用是以后能否学好MATLAB的关键。

l          矩阵的输入

   

I.        直接输入创建矩阵

   输入方法是先键入左方括弧“[”,然后按行直接键入矩阵的所有元素,最后键入右方括弧“]”。注意:整个矩阵以“[”和“ ]”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;”或按Enter键来分隔;矩阵的元素可以为数字也可以为表达式,如果进行的是数值计算,表达式中不可包含未知的变量。

例4:直接输入创建矩阵 

解:Matlab命令为

A = [1,2,3; 4,15,60; 7,8,9] ↙ 

A =

     1     2     3

     4    15    60

     7     8     9  

或用Matlab命令

A=[1,2,3↙

    4,15,66↙

    7,8,9]  ↙

A =

     1     2     3

     4    15    60

     7     8     9  

II.  用矩阵函数来生成矩阵

MATLAB 提供了大量的函数来创建一些特殊的矩阵,表2.3给出MATLAB常用的矩阵函数。

表2.3 常用的矩阵函数

函数名称

 函数功能

 函数名称

 函数功能

 

zero(m,n)

 m行n列的零矩阵

 eig(A)

 求矩阵A的特征值

 

eye(n)

 n阶方矩阵

 poly(A)

 求矩阵A的特征多项式

 

ones(m,n)

 m行n列的元素为1的矩阵

 trace(A)

 求矩阵A的迹

 

rand(m,n)

 m行n列的随机矩阵

 cond(A)

 求矩阵A的条件数

 

randn(m,n)

 m行n列的正态随机矩阵

 rref(A)

 求矩阵A的行最简形

 

magic(n)

 n阶魔方矩阵

 inv(A)

 求矩阵A的逆矩阵

 

hess(A)

 hess 矩阵

 det(A)

 求矩阵A的行列式

 

sqrtm(A)

 求矩阵A的平方根

 expm(A)

 求矩阵A的指数值

 

funm(A)

 按矩阵计算的函数值

 logm(A)

 求矩阵A的对数值

 

rank(A)

 求矩阵A的秩

 morm(A,1)

 求矩阵A的范数

 

 

例5:输入矩阵 。

解:Matlab命令为

ones(3) ↙           %生成元素都为1的3阶方阵

ans =

     1     1     1

     1     1     1

     1     1     1

 

例6:输入矩阵 

解:Matlab命令为

zeros(2,5)  ↙        %生成元素都为0的2行5列零矩阵

ans =

     0     0     0     0     0

     0     0     0     0     0

 

例7:生成3阶魔方矩阵。

解:Matlab命令为

magic(3) ↙          

ans =

     8     1     6

     3     5     7

     4     9     2

 

l          操作符“:”的说明

j:k      表示步长为1的等差数列构成的数组:[j, j+1, j+2,…, k]

j:i:k     表示步长为i的等差数列构成的数组:[j,j+i,j+2*i,…, k]

A(i:j)    表示A(i),A(i+1),…,A(j)

 

例8:操作符冒号”:”的应用

解:Matlab命令为

1:5 ↙                  %步长为1的等差数列。

Ans =

     1     2     3     4     5

1:2:7  ↙               %步长为2的等差数列。

Ans =

     1     3     5     7

8:-2:0  ↙               %步长为-2的等差、递减数列。

Ans =

     8     6     4     2     0

 

l          对矩阵元素的操作

设A是一个矩阵,则在MATLAB中有如下符号表示它的元素:

A(i,j)     表示矩阵A的第i行第j列元素。

A(:,j)     表示矩阵A的第j列。

A(i,:)     表示矩阵A的第i行。

A(:,:)     表示A的所有元素构造2维矩阵

A(:)       表示以矩阵A的所有元素按列做成的一个列矩阵。

A(i)      表示矩阵A(:)的第i个元素。

[ ]        表示空矩阵

 

I.       元素的抽取与赋值

      

 例9:已知矩阵 ,抽取与修改矩阵A的一些元素.

解:Matlab命令为

A=[1 23 56;sin(3) 7 9;log(2) 6 1]  ↙           %输入矩阵A。

A =

    1.0000   23.0000   56.0000

    0.1411    7.0000    9.0000

    0.6931    6.0000    1.0000

A(2,3) ↙                                 %求矩阵A的第二行第三列元素。

ans =

     9

A(4)  ↙                                  %求矩阵A的第四个元素。

ans =

    23

A(2:4) ↙                                 %取矩阵A的A(2),A(3),A(4)。

ans =

    0.1411    0.6931   23.0000

A(1,:) ↙                                 %取矩阵A的第一行。

ans =

     1    23    56

A(:,3)                                  %取矩阵A的第三列

ans =

    56

     9

     1

a=A(1,3) ↙                     %把矩阵A的第一行第三列元素赋值给变量a。

a =

56

     A(2,1)=100 ↙                    %把矩阵A的第二行第一列元素修改为100。

A =

       1.0000   23.0000   56.0000

     100.0000    7.0000    9.0000

      0.6931    6.0000    1.0000

 

II.    矩阵的扩充

例10:已知矩阵 ,利用A与B生成矩阵 ,

, 。

解:Matlab命令为

A=[1,3;6,9];                 %输入矩阵A

C= A↙                 

C(1,3)=100;                  %把矩阵A扩充为1行3列矩阵

C ↙

C =

     1     3   100

6     9     0

B=[1,5;0,8]; ↙             %输入矩阵B

D=[A,B]   ↙              %由矩阵A与B合成矩阵D

D =

     1     3     1     5

     6     9     0     8

AA=[A,zeros(2);zeros(2),B] ↙    %由矩阵A与B合成分块矩阵AA

AA =

     1     3     0     0

     6     9     0     0

     0     0     1     5

     0     0     0     8

 

III.矩阵的部分删除

例11:已知矩阵 ,删除矩阵A的第一行。

解:Matlab命令为

A=[1 23 56;sin(3) 7 9;log(2) 6 1]; ↙               

A(1,:)=[]  ↙                         %删除矩阵A的第一行

A =

    0.1411    7.0000    9.0000

0.6931    6.0000    1.0000

 

l          矩阵的运算

A+B:  矩阵加法

A-B:  矩阵减法

A*B:  矩阵乘法

A\\B:  矩阵的左除

A/B:  矩阵的右除 

transpose(A)或A’:A的转置

:数k乘以A

det(A): A的行列式:

rank(A):A的秩

 

七、数组

在MATLAB中数组就是一行或者一列的矩阵,前边介绍的对矩阵输入、修改、保存都适用于数组,同时MATLAB还提供了一些创建数组的特殊指令。

l          特殊数组的创建

linspace(a,b,n)    给出区间[a,b]的n个等分点数据

logspace(a,b,n)   给出区间 的n个等比点数据,公比为 。

例12:linspace(0,1,6) ↙      %给出区间[0,1] 的6个等分点数据

ans =

         0    0.2000    0.4000    0.6000    0.8000    1.0000

logspace(0,1,6) ↙     %给出区间 的6个等比点数据,公比为 

ans =

    1.0000    1.5849    2.5119    3.9811    6.3096   10.0000

 

 

l          数组运算

数组的运算除了作为1×n的矩阵应遵循矩阵的运算规则外,MATLAB中还为数组提供了一些特殊的运算: 乘法为:.*  ,左除为:.\\  ,右除为:./  ,乘幂为:.^ 。

设数组 , ,则对应的运算具体为:

    

   

例13:数组运算例题

     a=1:5 ↙                 %定义数组a

a =

     1     2     3     4     5

b=3:2:11 ↙                %定义数组b

b =

     3     5     7     9    11

a.^2↙                      %数组a的每一个元素求平方

ans =

     1     4     9    16    25

a.*b↙                      %数组a的每一个元素乘以对应的数组b的元素

ans =

     3    10    21    36    55

 

例14:计算 的值。

解:Matlab命令为

x=-pi:pi/2:pi; ↙             %定义自变量x

y=sin(x) ↙                  %求自变量x的每一个元素对应的正弦值

y =

-0.0000   -1.0000         0    1.0000    0.0000

八、M文件

M文件有两种形式:命令文件和M函数文件。它们都是由若干MATLAB语句或命令组成的文件。两种文件的扩展名都是.m。要注意的是M文件名一定以字母开头,而且最好不要与内置函数重名。

在M文件中,当表达式后面接分号时,表达式的计算结果虽不显示但中间结果仍保存在内存中。若程序为命令文件,则程序执行完以后,中间变量仍予以保留;若程序为函数文件,则程序执行完以后,中间变量被全部删除。

l          文件的操作

     为叙述方便,用记号“主菜单名|子菜单名|...”来指示子菜单。例如File|set path 表示单击file主菜单后再选择其中的子菜单set path。

    MATLAB 对文件的打开、关闭和保存等操作与Word完全类似,在此不再说明。在MATLAB中新建M文件的操作是在命令窗口中选择File|New|M-File (见图2.3),然后用鼠标单击M-File,可以打开MATLAB自带的“M函数与M文件编辑器”(见图2.4),用户就可以在此编辑窗口来编辑一个新的M文件了。MATLAB自带的M函数与M文件编辑器还可以用来对已经存在的M文件进行编辑、存储、修改和读取。

         

 

 

             图2.3  新建M文件

图2.4  M函数与M文件编辑器(编辑窗口)

l          命令文件

     命令文件的一般形式为:  .m

如a1.m, pp.m等都是合法的M文件名。

M文件有两种运行方式:一是在命令窗口直接写文件名,按Enter键; 二是在编辑窗口打开菜单Tools,再单击Run。M文件保存的路径一定要在搜索路径上,否则M文件不能运行。以下例题中如果不做特别说明,都是以第一种方式运行的。

例15:用M命令文件画出衰减振荡曲线 及其它的包络线 。 的取值范围是 。

解:步骤:

     1.打开MATLAB命令窗口,单击File|New|Mfile(见图2-3)打开编辑窗口;

     2.在编辑窗口逐行写下列语句;

t=0:pi/50:4*pi;                          

y0=exp(-t/3);                                

y=exp(-t/3).*sin(3*t);                   

plot(t,y,'-r',t,y0,':b',t,-y0,':b')      

3.保存M文件,并且保存在搜索路径上,文件名为a1.m;

4.运行M文件。在命令窗口写a1,并按Enter键,或者在编辑窗口打开菜单Tools,在选择Run。

 

图 2.5    衰减振荡曲线与包络

 

l       M函数文件

     M函数文件的一般形式为:

            function <因变量>=<函数名>(<自变量>)

        M函数文件可以有多个因变量和多个自变量,当有多个因变量时用[]括起来。为了更好的理解函数文件,请看下例:

例16:设可逆方阵为A,编写同时求 的M函数文件。

解:步骤:

    1.打开MATLAB命令窗口,单击File|New|Mfile(见图2-3)打开编辑窗口;

    2.在编辑窗口逐行写下列语句;

     function [da,a2,inva,traa]=comp4(x)

%M函数文件comp4.m同时求矩阵x的四个值

%da为矩阵x的行列式

%a2为矩阵x的平方

%inva为矩阵x的逆矩阵

%traa为矩阵x的转置

da=det(x)

a2=x^2

inva=inv(x)

traa=x'

3.保存M函数文件,并且保存在搜索路径上,文件名为comp4.m;

4.   命令窗口执行下列语句:

A=[1,2;5,8];↙            %输入矩阵A。

comp4(A)↙                %调用comp4.m函数计算矩阵A的 。

da =

    -2

a2 =

    11    18

    45    74

inva =

   -4.0000    1.0000

    2.5000   -0.5000

traa =

     1     5

     2     8

 

九、程序设计语句

l          for循环

for循环的语句为:

        for i=表达式

可执行语句1

…………..

可执行语句n

        end

说明:(1)表达式是一个向量,可以是m:n,m:s:n,也可以是字符串、字符串矩阵等。

(2) for循环的循环体中,可以多次嵌套for和其它的结构体。

 

例17:利用for循环求1~100的整数之和。

解:(1). 建立命令文件exam1.m。

%利用for循环求1~100的整数之和

sum=0;

for i=1:100

  sum=sum+i;                         

end

sum

(2) 执行命令文件exam1.m。

exam1↙

sum =

        5050

 

例18:利用for循环找出100~200 之间的所有素数。

解: (1).建立命令文件exam2.m。

     %利用for循环找出100~200 之间的所有素数

      disp('100~200 之间的所有素数为:')

      for m=100:200

        k=fix(sqrt(m));                     %求m的算术平方根然后取整.

        for i=2:k+1

          if rem(m,i)==0                   %求整数m与i的余数

          break;

        end

      end

      if i>=k+1

        disp(int2str(m))                 %以字符串的形式显示素数.

    end

  end

(2) 执行命令文件exam2.m。

exam2↙

101  103  107  109  113  127  131  137  139  149  151  157  163  167  173  179  181  191  193  197  199

 

说明:break语句能在for循环和while循环中退出循环,继续执行循环后面的命令。

 

l          while循环

while循环的语句为:

while 表达式

     循环体语句

end

说明:表达式一般是由逻辑运算和关系运算以及一般的运算组成的表达式,以判断循环要继续进行还是要停止循环。只要表达式的值非零,即为逻辑为“真“,程序就继续循环,只要表达式的值为零就停止循环。

 

例19:利用while循环来计算1!+2!+¼+50!的值。

解: (1).建立命令文件exam3.m

 %利用while循环来计算1!+2!+...+50!的值

sum=0;

i=1;

while i<51

   prd=1;

   j=1;

   while j<=i               

      prd=prd*j;                   

      j=j+1;              

   end

   sum=sum+prd;               

   i=i+1;

end

disp(‘1!+2!+...+50!的和为:’)

sum

(2) 执行命令文件exam3.m。

      exam3↙

 

1!+2!+...+50!的和为:

sum =

  2.5613e+018

 

l          if-else-end分支

此分支结构有3种形式:

(1)  if  表达式

执行语句

         end

  功能:如果表达式的值为真,就执行语句,否则执行end后面的语句.

(2)  if  表达式

执行语句1

else

  执行语句2

         end         

  功能:如果表达式的值为真,就执行语句1,否则执行语句2.

(3)  if  表达式1

执行语句1

elseif 表达式2

  执行语句2

else

    语句n

end     

  功能:如果表达式1的值为真,就执行语句1,然后跳出if执行语句;否则判断表达式2,如果表达式2的值为真,就执行语句2,然后跳出if执行语句.否则依此类推,一直进行下去.如果所有的表达式的值都为假,就执行end后面的语句.

 

例19:编一函数计算函数值: 

       解:(1).建立M函数文件yx.m。

function  y=yx(x)

if x<1

   y=x

elseif x>=1 & x<=10

   y=2*x-1

elseif x>10 & x<=30

   y=3*x-11

else

   y=sin(x)+log(x)

end

(2).调用M函数文件计算 。

result=[yx(0.2),yx(2),yx(30),yx(10*pi)]↙

result =

    0.2000    3.0000   79.0000    3.4473

 

l          switch-case-end分支

Switch语句的形式为:

   switch   表达式

   case  常量表达式1

         语句块1

   case   常量表达式2

         语句块2

   case   {常量表达式n,常量表达式n+1,…}

         语句块n

otherwise

语句块n+1

end

   功能:switch语句后面的表达式可以为任何类型;每个case后面的常量表达式可以是多个,也可以是不同类型;与if语句不同的是,各个case 和otherwise 语句出现的先后顺序不会影响程序运行的结果。

 

例20: 编一个转换成绩等级的函数文件,其中成绩等级转换标准为考试成绩分数在[90,100]分显示优秀;在[80,90)分显示良好;在[60,80)分显示及格;在[0,60)分显示不及格。

解:(1).建立M函数文件ff.m

    function result=ff(x)

 n=fix(x/10);

 switch n

 case {9,10}

   disp('优秀')

 case 8

   disp('良好')

case {6,7}

    disp('及格')

otherwise

   disp('不及格')

end

  (2).调用M函数文件判断99分,56分,72分各属于哪个范围.。

ff(99) ↙

优秀

ff(56) ↙

不及格

ff(72) ↙

及格

十、 Matlab绘图

 1.plot(y)

功能: 画一条或多条折线图。其中y是数值向量或数值矩阵。

说明:当y是数值向量时,plot(y)在坐标系中顺序的用直线段连接顶点(i,y(i))画出一条折线图;当y是数值矩阵时,Matlab为矩阵的每一列画出一条折线,绘图时,以矩阵y每列元素的相应行下标值为横坐标,以y的元素为纵坐标绘制的连线图。

例21:画出向量[1,3,2,9,0.5]折线图。

解:MATLAB命令为

 y=[1,3,2,9,0.5]; ↙                                                                

 plot(y) ↙

     图2.6向量式图形

2. plot(x,y)

功能:画一条或多条折线图。其中x可以是长度为n的数值向量或是n´m的数值矩阵,y 也可以是长度为n的数值向量或是n´m的数值矩阵。

说明:

¬当x ,y 都是长度为n的数值向量时,plot(x,y)在坐标系中顺序的用直线段连接顶点(x(i),y(i))画出一条折线图;

当x 是长度为n的数值向量且y是n´m的数值矩阵时,plot(x,y)用向量x分别与矩阵y的每一列匹配, 在同一坐标系中绘出m条不同颜色的折线图;

®当x 和y都是n´m的数值矩阵时,plot(x,y)分别用矩阵x的第i列与矩阵y的第i列匹配,在同一坐标系中绘出m条不同颜色的折线图。

注: plot(x,y)命令可以用来画通常的函数f(x)图形, 此时向量x常用命令x=a:h:b的形式获得f(x)函数在绘图区间[a,b]上的自变量点向量数据,对应的函数向量值取为y= f(x)。步长h可以任意选取,一般,步长越小,曲线越光滑,但是步长太小,会增加计算量,运算速度要降低。通常步长h取为0.1可以达到较好的绘图效果。如果想在图形中标出网格线,用命令:plot(x,y),grid on即可。

例22:画出函数y = sin x2  在-5 £ x £ 5  的图形。

 解: Matlab 命令: x=-5:.1:5;↙             %取绘图横坐标向量点x

y=sin(x.^2); ↙

plot(x,y),grid on↙      

图2.7曲线y=sinx^2

例23:画出椭圆 的曲线图。

解:对于这种情形,首先把它写成参数方程 。

Matlab 命令: t=0:pi/50:2*pi; ↙

x=5*cos(t); ↙

y=2*sin(t); ↙

plot(x,y) ,grid on

图2.8 椭圆

3. plot(x1,y1,x2,y2,x3,y3…)

功能:在同一图形窗口画出多条不同颜色曲线,曲线关系为

                    。

例24:在同一图形窗口画出三个函数y = cos 2x ,y = x 2 ,y = x的图形,-2£ x £ 2 。

解:Matlab命令:

x=-2:.1:2; ↙

plot(x,cos(2*x),x,x.^2,x,x) ↙

legend('cos(2x)','x^2','x') ↙     

图2.9 例5的绘图结果

 

4.ezplot(F,[xmin,xmax])

功能:画出符号函数F在区间[xmin,xmax]内的图像

说明: F是只含有一个变量的函数。如果区间[xmin,xmax]缺省,默认区间为

[-2pi,2pi]

例25:绘制 在 间的图形。

Matlab命令:syms t ↙

ezplot(‘2/3*exp(-t/2)*cos(3/2*t)’,[0,4*pi]) ↙ 

图2.10 符号函数的图形

5.二维特殊图形

除了plot指令外,Matlab还提供了许多其它的二维绘图指令,这些指令大大扩充了Matlab的曲线作图指令,可以满足用户的不同需要。

 

表2.4绘制二维图形的指令

函数名称

 功能

 函数名称

 功能

 

bar

 直方图

 loglog

 双对数曲线

 

barh

 垂直的直方图

 semilogx

 x轴对数坐标曲线

 

bar3

 三维直方图

 semilogy

 y轴对数坐标曲线

 

bar3h

 垂直的三维直方图

 polar

 极坐标曲线

 

hist

 统计直方图

 stairs

 阶梯图

 

pie

 饼图

 stem

 火柴棍图

 

pie3

 三维饼图

 pcolor

 伪彩图

 

fplot

 数值函数二维曲线

 area

 面积图

 

ezplot

 符号函数二维曲线

 errorbar

 误差棒棒图

 

gplot

 绘拓扑图

 quiver

 矢量场图

 

fill

 平面多边形填色

 ribbon

 代状图

 

 

例26:练习指令bar,stairs,pie,pie3,stem,area.

解:Matlab命令:

x=1:5;

subplot(2,3,1),bar(x),title('直方图')↙

subplot(2,3,2),stairs(x),title('阶梯图')↙

subplot(2,3,3),stem(x,'rp'),title('火柴棍图')↙

subplot(2,3,4),pie(x),title('饼图')↙

subplot(2,3,5),pie3(x),title('三维饼图')↙

subplot(2,3,6),area(x),title('面积图')↙

 

图2.11 一些二维特殊图形

 

6.三维网格命令mesh

由函数meshgrid生成格点矩阵后,就可以求出各格点对应的函数值,然后利用三维网格命令mesh与三维表面命令surf画出空间曲面。函数mesh用来生成函数的网格曲面。函数mesh 有如下三种形式:

mesh(X,Y,Z)        X,Y,Z是同维数的矩阵

mesh(x,y,Z)     x,y是向量,而Z是矩阵。等价于 

mesh(Z)       若提供参数x,y,等价于mesh(x,y,Z),否则默认x=1:n,y=1:m,其中 

例27:画出函数 在-3 £ x ,y£ 3及 在-10 £ x,y £ 10上的图形。

解: (1)建立命令文件me.m

%函数 z=sin(x+siny)

t1=-3:.1:3;

[x1,y1]=meshgrid(t1);     %生成格点矩阵

z1=sin(x1+sin(y1));        %计算格点处的函数值

subplot(1,2,1),mesh(x1,y1,z1),title('sin(x+siny)')

%马鞍面z=x^2-2y^2

t2=-10:.3:10; 

[x2,y2]=meshgrid(t2);z2=x2.^2-2*y2.^2;

subplot(1,2,2),mesh(x2,y2,z2),title('马鞍面')

(2)执行命令文件me.m

  me↙

图2.12函数z = sin (x+sin y)与马鞍面的网格图

文档

matlab软件的使用方法

MATLAB软件使用简介默认分类2007-03-1521:26:49阅读4106评论8  字号:大中小 订阅MATLAB软件使用简介MATLAB是一个功能强大的常用数学软件,它不但可以解决数学中的数值计算问题,还可以解决符号演算问题,并且能够方便地绘出各种函数图形。MATLAB自1984年由美国的MathWorks公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。这里主要以适用于Windows操作系统的MATLAB5.3版本向读者介绍MATLAB的使用命令和内容。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top