MATLAB 数据分析方法(第2版)1.3 MATLAB基本语法

简介:

1.3 MATLAB基本语法

 

1.3.1 数据类型

 

MATLAB中的基本数据类型有15种,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。不论数据是怎样的类型,在计算机程序中总是以常量与变量的形式出现。

 

1.常量

 

在程序执行过程中,其值不能被改变的量为常量。MATLAB中的常量也称为数值量,简单地可理解为具体的数值。例如:

 

1)整型常量:如12、78、109。

 

2)实数(浮点)型常量:如5、+5、-5.55、0.0056、6.5e-5、100e60、-0.060e-0123。

 

3)字符型常量:‘a’、‘b’、‘MATLAB’、‘My name is Libin.’等。

 

可以对常量进行运算,如算术运算、关系运算和逻辑运算等。

 

MATLAB默认的数值计算是双精度型的,且所有数值量在内存中也都是以双精度保存的,但其显示格式可有不同形式,通常用户可在命令行窗口中用格式(format)命令临时改变显示方式。比如用户希望以有理数(rational)形式显示,则可在命令行窗口中输入命令“format rational”。例如:

 

format rational    %改变当前显示格式为有理数格式

 

x=0.75%输入实数0.75

输出:

 

 

x=

 

 3/4

数“0.75”的有理显示形式为“3/4”。其他显示格式还有短格式(short,缺省格式)和长格式(long),更多格式参见表1-1所示。

 

 

 

表1-1 数据的输出格式控制

 

 

 

 

格式

中文解释

说明

 

format

短格式(缺省格式)

缺省时为默认短格式方式与format short相同

format short

短格式

显示5位定点十进制数

format long

长格式

显示15位定点十进制数

format short e

短格式e方式

显示5位浮点十进制数

format long e

长格式e方式

显示15位浮点十进制数

format short g

短格式g方式

显示5位定点或5位浮点十进制数

format long g

长格式g方式

显示15位定点或15位浮点十进制数

format hex

十六进制格式

以十六进制格式显示

format+

+格式

以+、-和空格分别表示矩阵中的正数、负数和零元素

format bank

银行格式

按元、角、分(小数点后具有两位)的固定格式显示

format rat

有理数格式

用有理数逼近显示数据

format compact

压缩格式

数据之间无空行

format loose

自由格式

数据之间有空行

  

 

 

读者可在命令行窗口中输入:x=pi然后在不同的输出格式下输出x的结果,观察结果显示的不同。

 

2.变量

 

在程序执行过程中,其值可以被改变的量为变量。每一个变量需有一个变量名,它在内存中占有一个内存单元。MATLAB中的变量可用来存放数据,也可用来存放向量或矩阵,并进行各种运算。

 

变量的命名规则是:①变量名区分字母大小写;②变量名以字母开头,可以由字母、数字、下划线组成,但不能使用标点;③变量名长度不超过63位,最多只能含有63个字符,后面的字符无效。

 

为了便于阅读程序,对变量或程序可作注释,“%”是注释符,“%”后面的内容为注释,对MATLAB的计算不产生任何影响。

 

同常量一样,变量可分为整型、实型(浮点)、字符型等。在命令行窗口的状态下,所有的变量均存在于工作区中,且不同类型的变量在工作区中一般用不同图标区别,如字符型变量用图标“abc”表示等。

 

3.永久变量

 

永久变量是变量的一种特殊情况,它在工作区中看不到,但是使用者可直接调用。表1-2列出了永久变量及其含义。

 

 

 

表1-2 永久变量表

 

 

 

 

名称

取值

名称

取值

 

 

ans 计算结果的默认变量名

pi 圆周率π的近似值(3.1416)

eps 数学中无穷小(epsilon)的近似值(2.2204e-016)

inf 无穷大,如1/0=inf(infinity)

NaN 非数,如0/0=NaN(Not a Number),inf/inf=NaN

 

 

i,j 虚数单位:i=j=-1

realmax 系统所能表示的最大数值

realmin 系统所能表示的最小数值

nargin 函数的输入参数个数

nargout 函数的输出参数个数

  

 

 

在MATLAB中定义变量时应避免与永久变量名重复,以免改变这些常量的值,如果已改变了某个常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值(当然,也可通过重新启动MATLAB系统来恢复这些常量值)。

 

4.符号变量

 

MATLAB提供了符号计算功能。符号计算又称计算机代数,通俗地说就是用计算机推导数学公式,如对表达式进行因式分解、化简、微分、积分、解代数方程、求解常微分方程等。符号计算是绝对精确的计算。在MATLAB中进行符号运算时需要先用syms命令创建符号变量和表达式,如:

 

>> syms x             %声明一个符号变量x

syms不仅可以声明一个变量,还可以指定多个变量及其数学特性,比如:

 

>> syms x y real%声明符号变量x、y为实数类型

 

>> syms x y positive%声明符号变量x、y为整数类型

创建符号表达式:

 

syms x y%声明符号变量x、y

 

z=x^2+y^2%创建符号表达式

5.变量的查询与清除

 

在命令行窗口中,只要输入“who”,就可以看到工作区中所有曾经设定并至今有效的变量。如果输入“whos”,不但会显示所有的变量,而且会将该变量的名称、性质等都显示出来,即显示变量的详细资料。在命令行窗口中输入“clear”,就清除了工作区中的所有变量。如果输入“clear+变量名”,只清除工作区中指定变量名的变量。

 

1.3.2 操作符与运算符

 

数据变量间的运算是按一定的运算规则进行的,有些规则是由运算符决定的,有些是由MATLAB命令函数决定的,以下是操作符与运算符的使用规则。

 

1.操作符

 

在编辑程序或命令中,当标点或其他符号表示特定的操作功能时就称其为操作符。表1-3列出了操作符。

 

 

 

表1-3 操作符

 

 

 

 

操作符

使用说明

 

 冒号。①m:n产生一个数组\[m,m+1,…,n\];②m:k:n产生一个数组\[m,m+k,…,n\];③A(:,j)取矩阵A的第j列;④A(k,:)取矩阵A的第k行

 分号。①在矩阵定义中表示一行的结束;②在命令语句的结尾表示不显示这行语句的执行结果

 连续点。一个命令语句非常长,一行写不完可以分几行写,此时在行的末尾加上连续点,表示是一个命令语句

%

 百分号。在编程时引导注释行,而系统解释执行程序时,%后面的内容不作处理

  

 

 

2.运算符

 

运算符可分为三类:算术运算符、关系运算符与逻辑运算符。算术运算符是构成运算的最基本的操作命令,可以在MATLAB的命令行窗口中直接运行。不同的运算符及功能说明见表1-4、表1-5、表1-6。

 

 

表1-4 算术运算符

 

 

 

 

运算符

功能说明

 

+

 加法运算。两个数相加或两个同阶矩阵相加。如果是一个矩阵和一个数字相加,则这个数字自动扩展为与矩阵同维的一个矩阵

-

 减法运算。两个数相减或两个同阶矩阵相减

*

 乘法运算。两个数相乘或两个可乘矩阵相乘

/

 除法运算。两个数或两个可除矩阵相除(A/B表示A乘以B的逆)

 

 

 乘幂运算。数的方幂或一个方阵的多少次方

 

 左除运算。两个数ab表示b÷a,两个可除矩阵相除(AB表示B乘以A的逆)

.*

 点乘运算。两个同阶矩阵对应元素相乘

./

 点除运算。两个同阶矩阵对应元素相除

.

 点乘幂运算。一个矩阵中各个元素的多少次方

.

 点左除运算。两个同阶矩阵对应元素左除

  

 

 

 

 

表1-5 关系运算符

 

 

 

 

运算符

功能说明

运算符

功能说明

 

 

>判断大于关系

<判断小于关系

==判断等于关系

 

>=判断大于等于关系

<=判断小于等于关系

~=判断不等于关系  

 

 

关系运算符主要用于比较数、字符串、矩阵之间的大小或不等关系,其返回值是0或1。

 

 

 

表1-6 逻辑运算符

 

 

 

 

运算符

功能说明

运算符

功能说明

 

 

&与运算

或运算

 

~非运算

Xor(a,b)异或运算  

 

 

逻辑运算符主要用于逻辑表达式和进行逻辑运算,参与运算的逻辑量以0代表“假”,以任意非0数代表“真”。逻辑表达式和逻辑函数的值以0表示“假”,以1表示“真”。

 

1.3.3 MATLAB命令函数

 

MATLAB系统提供了近20类基本命令函数,它们中一部分是MATLAB的内部命令,一部分是以M文件形式出现的函数。这些M文件形式的函数扩展了MATLAB的功能,对于这些命令函数可以通过在命令行里面输入“Help fun”来获得有关这个命令函数使用的详细说明,这里fun是要查询的命令函数的名字。表1-7列出了基本的数学函数。

 

 

 

表1-7 基本的数学函数表

 

 

 

 

函数名

中文解释

函数名

中文解释

 

 

sin(x)正弦函数

cos(x)余弦函数

tan(x)正切函数

exp(x)以e为底的指数

log(x)自然对数

abs(x)绝对值或向量的长度

min(x)最小值

sign(x)符号函数

ceil(x)朝正无穷方向取整

fix(x)朝零方向取整

 

asin(x)反正弦函数

acos(x)反余弦函数

atan(x)反正切函数

log10(x)以10为底数的对数

sqrt(x)开平方

max(x)最大值

sum(x)元素求和

round(x)四舍五入到最近的整数

floor(x)朝负无穷方向取整

gcd(x,y)求两整数最大公约数

  

 

 

数学函数都有一个共同的特点:若自变量x为矩阵,则函数值也为x的同阶矩阵,即对x的每一元素分别求函数值;若自变量x为通常情况下的一个数值,则函数值是对应于x的一个数值。如计算“sin(x)”的一个函数值与一组函数值时,在命令行窗口中写程序如下:

 

>> x=pi/3;            %输入一个数x

 

>> y=sin(x)%计算函数值y=sin(x)

 

y =

 

  0.8660%显示函数值

 

>> t=0:pi/3:2*pi;%输入一组数t

 

>> z=sin(t)%输出一组函数值z=sin(t)

 

z =

 

  0  0.8660  0.8660  0.0000 -0.8660 -0.8660 -0.0000

 

相关文章
|
17天前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
53 1
|
2月前
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(分组分析)
ChatGPT在常用的数据分析方法中的应用(分组分析)
66 1
|
2月前
|
数据挖掘 数据处理
ChatGPT在常用的数据分析方法中的应用(交叉分析)
ChatGPT在常用的数据分析方法中的应用(交叉分析)
45 1
|
2月前
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(对比分析)
ChatGPT在常用的数据分析方法中的应用(对比分析)
58 0
|
3月前
|
SQL 数据采集 数据可视化
数据分析的方法
数据分析的方法
102 3
|
4月前
|
存储 算法 Serverless
【matlab】matlab基于DTW和HMM方法数字语音识别系统(源码+音频文件+GUI界面)【独一无二】
【matlab】matlab基于DTW和HMM方法数字语音识别系统(源码+音频文件+GUI界面)【独一无二】
|
4月前
|
计算机视觉
【图像处理】基于灰度矩的亚像素边缘检测方法理论及MATLAB实现
基于灰度矩的亚像素边缘检测方法,包括理论基础和MATLAB实现,通过计算图像的灰度矩来精确定位边缘位置,并提供了详细的MATLAB代码和实验结果图。
111 6
|
4月前
|
算法 数据安全/隐私保护
基于星座图整形方法的QAM调制解调系统MATLAB误码率仿真,对比16,32,64,256四种QAM调制方式
本MATLAB 2022a仿真展示了不同QAM阶数下的星座图及误码率性能,通过星座图整形技术优化了系统性能。该技术利用非均匀分布的星座点提高功率效率,并通过合理布局增强抗干扰能力。随着QAM阶数增加,数据传输速率提升,但对信道质量要求也更高。核心程序实现了从比特生成到QAM映射、功率归一化、加噪及解调的全过程,并评估了系统误码率。
80 0
|
5月前
|
算法 数据挖掘
MATLAB数据分析、从算法到实现
MATLAB数据分析、从算法到实现