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
MATLAB 数据分析方法(第2版)1.3 MATLAB基本语法相关推荐
- MATLAB 数据分析方法(第2版) 1.1 数据分析与MATLAB
第1章 MATLAB基础 MATLAB数据分析方法 本章主要介绍MATLAB软件的一些入门知识,包括MATLAB界面及其基本操作.变量与函数.运算符与操作符.矩阵数据的输入与输出.符号运算.M文件与编 ...
- MATLAB数据分析方法第2章数据描述性分析
2.1 基本统计量与数据可视化 1.均值.中位数.分位数.三均值 均值.中位数:mean(A).media(A) 分位数:prctile(A,P),P∈[0,100] prctile(A,[25,50 ...
- MATLAB 数据分析方法(第2版)1.2 MATLAB基础概述
1.2 MATLAB基础概述 1.2.1 MATLAB的影响 MATLAB源于Matrix Laboratory,即矩阵实验室,是由美国Mathworks公司发布的主要面对科学计算.数据可视化.系统仿 ...
- MATLAB 数据分析方法(第2版)2.3 数据变换
2.3 数据变换 2.3.1 数据属性变换 在解决经济问题综合评价时,评价指标通常分为效益型.成本型.适度型等类型.效益型指标值越大越好,成本型指标值越小越好,适度型指标值既不能太大也不能太小为好. ...
- MATLAB 数据分析方法(第2版)2.1 基本统计量与数据可视化
第2章 数据描述性分析 数据描述性分析是从样本数据出发,概括分析数据的集中位置.分散程度.相互关联关系以及数据分布的正态或偏态特征等.它是进行数据分析的基础,对不同类型量纲的数据有时还要进行变换,然后 ...
- MATLAB数据分析(插值运算和曲线拟合)
MATLAB数据分析(插值运算和曲线拟合) MATLAB数据分析 在数学研究和工程应用中,我们常常需要对某些环节进行反复的测验或测试,以获取更多的数据支持最优决策,但是由于环境条件的限制,我们往往只能 ...
- 多尺度散布熵及其matlab实现方法
一.多尺度散布熵的概念 多尺度散布熵是一种基于计算机的非线性时间序列分析方法,它可以用于描述时间序列的复杂性和非线性特征,适用于多种领域,如金融市场.医学.地质.工程等.多尺度散布熵将时间序列分解成多 ...
- 遗传:微生物组数据分析方法与应用
本文版权归<遗传>杂志,已获授权,转载请联系杂志社 微生物组数据分析方法与应用 刘永鑫1,2,秦媛1,2,3,郭晓璇1,2,白洋1,2,3 1. 中国科学院遗传与发育生物学研究所,植物基因 ...
- 试验设计与matlab数据分析 下载,试验设计与MATLAB数据分析(附光盘)
第1章 试验设计与MATLAB数据分析简介 1.1 试验设计与数据分析的意义 1.2 试验设计中的几个常用概念 1.2.1 试验指标 1.2.2 因素和水平 1.2.3 响应(或输出) 1.2.4 试 ...
最新文章
- HTML的标签描述7
- 算法训练 素因子去重
- cmake find_package 中,include_directories,target_link_libraries 的值怎么知道?
- @ConfigurationProperties 注解
- 机器学习技法(3)--Kernel Support Vector Machine
- 【免费活动】字节跳动背后的音视频技术揭秘
- 数据库中char与varchar类型的区别 1
- 不同网段的局域网怎么互通_华为实操系列 | 交换机在局域网中是怎么应用的,看完你肯定懂了!...
- 最大一笔收购,Pokémon Go开发商Niantic收购AR开发平台8th Wall
- shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)
- svn钩子自动化同步代码提交任务
- 基于Java毕业设计中学后勤设备保修维护管理系统源码+系统+mysql+lw文档+部署软件
- 线性代数matlab的心得体会,线性代数的学习心得
- [原创开源项目]EPUBBuilder一款在线的epub电子书编辑工具
- 联想笔记本键盘排线,联想笔记本原装键盘价格表 联想笔记本键盘如何更换
- C# wpf确认取消MessageBox选择按钮
- SWARM-BZZ的联合曲线(Bonding Curve)
- 计算机两个硬盘的作用,固态硬盘时代谈谈双硬盘(固态+机械硬盘)的好处
- AXI中READY与VALID之间握手关系
- 【SSL 1458】zzzyyds(DP)
热门文章
- Web.config 灵活配置
- 分享42个超棒的智能手机摄影画廊
- 学习,是前进的必由之路
- oracle apex接口文件,Oracle之APEX深入开发指南
- python常用知识点_Python常用知识点
- sql 取表的前10条记录,任意中间几行的记录
- 2018焦作网络赛-E- Jiu Yuan Wants to Eat
- dp凸优化/wqs二分学习笔记(洛谷4383 [八省联考2018]林克卡特树lct)
- LayIM.AspNetCore Middleware 开发日记(一)闲言碎语
- javascript中五句话