第二章MATLAB程序设计基础
2.1 MA TLAB的特殊常量
ans:用于保存运算结果toc:秒
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
停止
pi:圆周率i或j:虚数单位,定义为√-1
inf:无穷大realmax:最大正实数
eps:系统运算时所确定的最小值realmin:最小正实数
Nan或nan:不定量not a number nargan:函数实际输入参数个数
tic:秒表开始执行nargout:函数实际输出参数个数
2.2 MA TLAB的变量
在MA TLAB中变量用来读取值,并进行运算,最后在存入内存;变量是数值计算的基本单元。变量不需要事先声明,也不需要预先定义变量的类型,当变量在语句中第一次合法出现时,MA TLAB会自动生成变量,并根据变量的操作上下文确定其类型,并分配适当的存储空间,当变量再次合法出现时,系统会自动更新其
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。(注:运算表达式中不能出现未定义的变量)
2.3 变量名
MATLAB的变量名必须一字符开头是字母和数字的任意组合,允许使用下划线。MATLAB中变量的命名
规则
编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf
:
(1)变量名必须以字符开头,后面可以跟字母、数字、下划线,但是不能使用空格和标点符号;
(2)变量名区分大小写,A和a表示的事两个不同的变量;
(3)变量名可以任意长,但只有前面的63个字符被使用,超过部分将被忽略;
2.4 变量的显示
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
数据的显示格式由format命令控制。format只影响结果的显示,不影响计算和存储。
2.5 变量的作用域
(1)局部变量
局部变量在函数中定义的变量,只能被定义它的函数访问。
在命令文件中定义的变量,当在命令窗口中调用该命令文件时,变量存在基本工作区中;当从函数调用该命令文件时,起变量存在与函数的工作区中。
局部变量不用特别定义,只要给出合法变量名,MATLAB会自动建立。
(2)全局变量:指几个函数共享的变量,其名字最好全用大写字母这样可增强代码的可读性减少重复定义变量的机会。每个使用它的函数都要用global函数声明它为全局变量。每个共享它的函数都可以改变它的值。
如果函数的子函数也要使用全局变量,也必须在子函数内部用global函数声明变量为全局变量。
(3)永久变量:只能在函数文件中定义和使用,只允许定义他的函数存取。当定义它的函数退出运行时,MA TLAB不会在内存中清除它,下次调用这个函数,将使用它被保留的当前值。只有清除函数或关闭MA TLAB时才能从内存中清除它们。
永久变量的默认初始值被MATLAB设置成“[]”用户可以自己设置永久变量的初始值。
2.6 变量的清除
(1)clear函数
clear:清除工作区中的所有变量,释放系统内存。
clear变量名系列:清除工作区总指定的变量。
clear all:清除内存中的所有变量、函数和MEX文件,使工作区变空;清除M 文件的断点,并重新初始化永久变量。
clear classes:clear all的功能上加清除MA TLAB类定义。
clear function:从内存中清除所有当前编译的M函数和MEX函数。
clear global:清除工作区中的所有永久变量。
clear import:清除Java的包和子包列表,只能在命令窗口中使用,不能用于函数。
clear java:clear import的功能上加清除Java的类定义。
clear variables:清除工作区中的所有变量。
(2)mlock 函数
mlock函数用来阻止M文件和MEX文件被清除,mlock函数锁住当前正在运行的M文件和MEX文件,以后的clear函数就不能从内存中清除它们。
2.7变量的存取
save:将工作空间中的全部变量存储到matlab.mat二进制文件中。
save filename:将工作空间中的全部变量存储到二进制文件fliename.mat中。
save filename变量名列表:将工作空间中变量名列表中指定的变量存储到filename.mat 二进制文件中,变量之间用空格隔开。
save filename变量名列表-append:将工作空间中的变量名列表中指定的变量添加到文件名为filename.mat的二进制文件中,变量间用空格隔开。
save filename变量名列表-ascii:将工作空间中的变量名列表中指定的变量存储到名为filename的8位ASCII文件中。
save filename变量名列表-ascii-double:将工作空间中的变量名列表中指定的变量存储到16位ASCII文件filename.mat中。
load:将二进制文件matlab.mat中的所有变量读入工作空间中。
load filename:将二进制文件filename.mat中所有变量读入工作空间中。
load filename变量名列表:将二进制文件filename.mat中变量名列表中指定的变量读入工作空间中。
load filename-mat:将filename.mat文件以二进制的格式把其中所有的变量读入到工作空间中。
load filename-ascii:将filename文件以ASCII的格式把其中所有的变量读入到工作空间中。
load filename变量名列表-mat:将二进制文件filename.mat中变量名列表中指定的变量读入到工作空间中。
load filename变量名列表-ascii:将ASCII格式文件filename中变量名列表中指定的变量读入到工作空间中。
2.8数组
(1)一位数组的创建
直接生成法:直接将一位数组的数据放入到[ ]中,数据之间用空格或逗号隔开。
冒号生成法:格式初始量:步长:终止量
linspace
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
:格式linspace(初始量,终止量,数组元素个数)
logspace方法:格式logspace(初始量,终止量,数组元素个数)
(2)一位数组的引用
调用格式:
arrayName(n); %引用一维数组中的第n个元素
arrayName(n1:n2); %引用一维数组中的第n1至n2个元素
arrayName([n1 n2]); %引用一维数组中的第n1和n2个元素
(3)二维数组的创建
直接生成法:直接将二维数组的数据放入[ ]中,数据之间用空格或逗号隔开,行与行之间用分号隔开或回车。
(4)二维数组的引用
调用格式:
arrayName(m,n); %引用二维数组中的第m行n列元素
arrayName(m,:); %引用二维数组中的第m行的所有元素
arrayName(:,n); %引用二维数组中的第n列的所有元素
arrayName(m1:m2,n); %引用二维数组中的第n列中m1至m2行的元素
arrayName(m,n1:n2); %引用二维数组中的第m行中n1至n2列的元素
arrayName([m1 m2],n); %引用二维数组中的第n列中m1行和m2行的元素
arrayName(m,[n1 n2]); %引用二维数组中的第m行中n1列和n2列的元素
2.9字符串
在MATLAB中,字符串作为字符数组用单引号“’”引用到程序中,还可以通过字符串运算组成复杂的字符串。字符串数值和数字数值之间可以进行转换,也可以执行字符串的有关操作。
(1)字符串的创建
调用格式:
str=’string’
str=(’string’)
str=[’string1’ ’string2’ ’string3’]
(2)字符串相关的常用函数
a. char将正函数数组转换成字符串数组。
调用格式:char(A)
b. int2str将数组转换成字符串数组。
调用格式:int2str(A)
c. num2str将数组转换成字符串数组。
调用格式:
num2str(A): %将数组转换成字符串数组
num2str(A,k): %将数组转换成字符串数组(最多k位有效位)
num2str(A,strFormat): %将数组转换为strFormat格式的字符串数组
d. eval将字符串转化为数值。
调用格式:eval(s)
e. str2num将字符串转化为数值
调用格式:str2num(s)
f. strcmp将两个字符串进行比较,相等时返回真值。
调用格式:strcmp(str1,str2)
2.10 结构数组
(1)结构数组的创建
a. 直接创建发
struct函数创建法
调用格式:
struct(‘field1’,{}, ‘field2’,{},…) %创建一个新的结构数组
struct(‘field1’,{values},‘field2’,{values},…) %创建一个具有属性名和数据的结构数组
(注意:MAYLAB对未指定的属性以空矩阵赋值,且数组中每个结构具有同样多的属性,且具有相同的属性名。)
(2)结构数组的引用
结构数组的引用通过下标和“.”操作符来完成。
(3)结构数组的相关命令
getfield:获得结构数组中的数据。
setfield:设置结构数组中的数据。
fieldnames:获取结构数组中的属性域名。
size: 获取结构数组中的维度。
rmfield:删除结构数组中的结构域。
(4)结构数组中的嵌套
在结构数组中,域值是另一个已定义的结构数组,成为结构数组的嵌套。这种嵌套适用于说明具有层次结构的复杂数据。
2.11细胞数组
细胞数组是以单位为元素的数组,每个元素成为单元,每个单元可以包含其他类型的数组。在MATLAB中,只有细胞数组才可以将不同类型、不同维度的数组组合成一个大数组。
(1)细胞数组的创建
a. 直接创建法
采用数组元素的下表直接复制,所附的值用大括号括起来;或者把细胞数组的下标用大括号括起来,所附的值采用数组、数值或是字符串的形式。
b. cell函数创建法
通过cell函数可以创建结构数组。
调用格式:cell(m,n) %创建一个空的二维细胞数组,不含数据
(2) 细胞数组的引用
(3) 细胞数组的相关命令
celldisp:显示细胞数组的内容。
cellplot:以图形的方式显示细胞数组的内容。
(4)细胞数组和数值数组的转换
在MATLAB中,通过num2cell和cell2mat等函数实现细胞数组和数值数组之间的转换。 num2cell:将数值数组转换成细胞数组。
cell2mat:将细胞数组转换成数值数组。
2.12 MATLAB的运算符
MATLAB的预算符分为三大类:算术运算符、关系运算符和逻辑运算符。这三种运算符中,算术运算符优先级最高,关系运算符次之,而逻辑运算符的优先级最低。实际应用中,可以通过括号来调整运算过程。
(1)算术运算符
+、- 表示算术加法和减法
*、/ 表示算术乘法和除法
\ 表示左除
^表示乘方
.* 表示点乘
.\ 表示点左除
./表示点右除
.^表示点乘方
(2)关系运算符
< 表示小于
<= 表示小于或等于
> 表示大于
>= 表示大于或等于
== 表示等于
~= 表示不等于
(3) 逻辑运算符
& 逻辑与(and),表示两个数组的对应元素都是1,结果为1,否则为0。
| 逻辑或(or),表示对应元素只有一个是1,结果为1,否则为0。
~非(not),表示与元素相反。
xor 异或,表示对应元素不同,结果为1,否则为0。
( 注意:如果运算对象数组中含有有限非0数字值,则MAYLAB将转换成逻辑1或true。) MATLAB还提供了丰富的逻辑函数
all:查看数组的行或列,每行或列的所有元素为1.结果为1
any:查看数组的行或列,每行或列都只有一个元素为1,结果为1
exist:查看变量或者函数是否存在
find:找出非零元素的位置标识
isempty:判断矩阵是否为空矩阵
isequal:判断对象是否相等
isnumeric:判断对象是否为数值型
bitand:按位与
bitor:按位或
bitcmp:按位反码,共n位,n必须小于操作数的二进制数
bitxor:按位异或
&&:捷径与
‖:捷径或
2.13 运算符的优先级
运算优先级从高到低排列如下:
()
.’、.^、’、^
继续阅读