购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 变量和数据操作

利用MATLAB解决问题的最基本操作就是定义一些变量,然后对变量进行运算操作。MATLAB提供了多种类型的变量,本节简要介绍最基础的变量类型以及相应的数据操作。

2.1.1 变量与赋值

1.变量

变量是任何程序设计语言的基本元素之一,MATLAB语言当然也不例外。在MATLAB中,变量的命名应遵循如下规则:

变量名必须以字母开头,之后可以是任意的字母、数字或下划线。

变量名区分字母的大小写。

变量名不超过31个字符,第31个字符以后的字符将被忽略。

与其他的程序设计语言相同,MATLAB中的变量也存在作用域。在未加特殊说明的情况下,MATLAB将所识别的一切变量视为局部变量,仅在其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说,全局变量均用大写的英文字符表示。

2.变量赋值

将某一有效数值赋给变量,那么此变量称为数值变量。在MATLAB下进行简单数值运算,只需在命令行窗口提示符“>>”之后直接输入,并按Enter键即可。例如,要计算145与25的乘积,可以直接输入:

    >> 145*25
    ans =
        3625

用户也可以输入:

    >> x=145*25
    x =
        3625

此时,MATLAB把计算值赋给指定的变量 x

2.1.2 预定义变量

MATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量。表2-1给出了MATLAB语言中经常使用的一些特殊变量。

表2-1 MATLAB中的预定义变量

例2-1: 显示圆周率π(pi)的值。

在MATLAB命令行窗口提示符“>>”后输入“pi”,然后按Enter键,将出现以下内容:

    >> pi       % 查看常量pi的值
    ans =
        3.1416

这里,“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动将当前结果赋给特殊变量“ans”。

在定义变量时应避免与常量名相同,以免改变这些常量的值。如果已经改变了某个常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值,或者重新启动MATLAB。

例2-2: 给圆周率π(pi)赋值1,然后恢复。

MATLAB程序如下:

    >> pi=1      % 修改常量pi的值
    pi =
        1
    >> clear pi  % 恢复常量pi的初始值
    >> pi        % 查看常量pi的值
    ans =
        3.1416

2.1.3 常用数学函数

在MATLAB中,一般代数表达式的输入就如同在纸上书写一样,如四则运算就直接用“+”“-”“*”“/”即可,而乘方、开方运算分别由^符号和sqrt函数来实现。例如:

    >> x= 95^3      % 将表达式的值赋值给x
    x =
            857375
    >> y= sqrt(x)                  % 求x的平方根
    y =
    925.9455

当表达式比较复杂或重复出现的次数太多时,更好的办法是先定义变量,再由变量表达式计算得到结果。

例2-3: 分别计算 x =20、40、60、80处的函数值。

MATLAB程序如下:

        >> x=20:20:80;              % 创建值介于20到80、间隔值为20的4个线性分隔值
        >> y=1./(sin(x)+exp(-x))    % 点除运算“./”是对每一个x做除法运算
                                    % 点除的具体用法在后文介绍
    y =
        1.0954    1.3421   -3.2807  -1.0061

在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。MATLAB常用的基本数学函数及三角函数调用格式及说明如表2-2所示。

表2-2 基本数学函数与三角函数调用格式及说明

例2-4: 控制数字显示格式示例。

MATLAB程序如下:

    >> fix(pi)            % 舍去常量pi的小数
    ans =
        3

2.1.4 数据的输出格式

一般而言,在MATLAB中数据的存储与计算都是以双精度进行的,但有多种显示形式。在默认情况下,若数据为整数,就以整数显示;若数据为实数,则以保留小数点后4位的精度近似显示。

用户可以改变数字显示格式。控制数字显示格式的命令是format,其调用格式及说明如表2-3所示。

表2-3 format调用格式及说明

例2-5: 控制数字显示格式示例。

MATLAB程序如下:

    >> format long , pi    % 将常量pi的格式设置为长固定十进制小数点格式,包含 15 位小数
    ans =
        3.141592653589793

2.1.5 数据类型

MATLAB中的数据类型包括下面几种。

1.数值类型

数值分为有符号、无符号整数(int)和单精度(float)、双精度(double)浮点数,具体如下:

(1)整型。整型数据是不包含小数部分的数值型数据,用字母I表示。整型数据只用来表示整数,以二进制形式存储。下面介绍整型数据的分类:

char:字符型数据,属于整型数据的一种,占用1个字节。

unsigned char:无符号字符型数据,属于整型数据的一种,占用1个字节。

short:短整型数据,属于整型数据的一种,占用2个字节。

unsigned short:无符号短整型数据,属于整型数据的一种,占用2个字节。

int:有符号整型数据,属于整型数据的一种,占用4个字节。

unsigned int:无符号整型数据,属于整型数据的一种,占用4个字节。

long:长整型数据,属于整型数据的一种,占用4个字节。

unsigned long:无符号长整型数据,属于整型数据的一种,占用4个字节。

(2)浮点型。浮点型数据只采用十进制,有两种形式,即十进制数形式和指数形式,具体如下:

①十进制数形式:由数码0~9和小数点组成,如0.0、0.25、5.789、0.13、5.0、300.、-267.8230。

例2-6: 显示十进制数字。

MATLAB程序如下:

    >> 3.00000
    ans =
         3
    >> 3
    ans =
         3
    >> .3
    ans =
        0.3000
    >> .06
    ans =
        0.0600

②指数形式:由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为

a E n

其中, a 为十进制数, n 为十进制整数,表示的值为 a ×10 n

例如,2.1E5等于2.1×10 5 ,3.7E-2等于3.7×10 -2 ,0.5E7等于0.5×10 7 ,-2.8E-2等于-2.8×10 -2

例2-7: 显示指数。

MATLAB程序如下:

    >> 3E6
    ans =
         3000000
    >> 3e6
    ans =
         3000000
    >> 4e0
    ans =
         4
    >> 0.5e5
    ans =
           50000

下面是几种常见的不合法的实数:

E7:阶码标志E之前无数字。

53.-E3:负号位置不对。

2.7E:无阶码。

浮点型变量还可分为两类:单精度型和双精度型。

float:单精度说明符,占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供7位有效数字。

double:双精度说明符,占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

2.逻辑类型

逻辑值为1、0,分别代表真、假。

3.字符和字符串

MATLAB中字符串是符号运算表达式的基本构成单元。

4.函数句柄

函数句柄是MATLAB中用来间接调用函数的一种语言结构,用于在使用函数过程中保存函数的相关信息,尤其是关于函数执行的信息。

5.单元数组类型

一种无所不包的广义矩阵。组成单元数组的每一个元素称为单元。

6.结构体类型

MATLAB结构体与C语言相似,一个结构体可以通过字段存储多个不同类型的数据。 t4mnOTvPdmfdEqjzuPFK/XCbQa+XffrRwy1MI5mLGbKTEJVm5zTdxMGzSPwvR4W1

点击中间区域
呼出菜单
上一章
目录
下一章
×