matlab强大的数值计算功能使其在诸多数学计算软件中傲视群雄,‘己是matlab软。
件的基础。自商用的matlab软件推}f}之后,它的数值计算功能就在不断的改养}i=日趋完。
善。目前的matlab 版本更是把其数值计算功能推向了一个新的高度:正是由于。
matlab有了如此令人惊叹的强大的数值计算功能,mathworks公司才有能力把matlab
的应用延伸到不同专业、不同行业和部门的各个领域,使其成为世界上最优秀的、应)最为。
广泛的、最受用户喜爱的数学软件。
matlab的数据类型主要包括:数字、字符串、矩阵〔数组)、单元型数据及结构型数。
据。本节将介绍这些数据类型。
1. 变量。
变量是任何程序设计一语一言的基本元素之一,matlab语言当然也不例外。变量是给一个值(数值、字符串、数组)指定的标签。当一个值存于内存时,不可能直接从内存中访问它,要借助于标签。
在程序中,用标签读一个值,或者用它进行计算,最后再存入内存。一个变量代表一个值。
与常规的程序设计语言不同的是,matlab语言并不要求对所使用变量进行事先声明,也不需要指定。
变量类型,它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型;在赋值。
过程中,如果变量己存在,matlab语言将使用新值代替旧值,并以新的变量类型代替旧。
的变量类型。
在mat`lab语言中变量的命名遵守如下规则:
变量名区分大小写;
变量名一长度不超过31位,第31个字符之后的字符将被忽略;
变量名以字母开头,变量名中可包含字母、数字、下划线,但不能使用标点。
变量名不能使用i和j,这两个字符是复数专用的。
变量名不能使用函数名和系统保留字。
与其他的程序设计语言相同,matlab语言中也存在变量作用域的问题。在未加特殊。
说明的情况下,matlab语言将所识别的一切变量视为局部变量,即仅在其调用的m文件。
内有效。若要定义全局变量,应对变量进行声明,即在该变量前加关键字global一般来说,全局变量常用大写的英文字符表示,尽管这不是matlab语言所必需的。
ans是matlab使用的一个特殊的变量。当用户没有为一个表达式或运算结果指定输出变量时,matlab将运算结果存储在这个变量中,并显示它的值。ans变量仅用于命令窗口。
2.常量。matlab有一些预定义的变量,这些特殊的变量称为常量。表2.1给出了matlab语。
言中经常使用一些常量及其说明。
matlab语言中的常量。
例如】> pians =
当分母为0而分子不为0时,将会返回警告信息,而计算结果将为inf;或者在合理的。
运算过程中有溢出发生时,即计算结果或计算的中间结果超过最大负电数范围时,也会显示。
结果为inf。而当分子分母均为0时,也会返回警告信息,并且计算结果为nan例如】
ans =inf
ans =nan
matlab语一言中,在定义变量时应避免与常量名相同,以免改变这些常量的值,如果己改变了某个常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值。当然重新启动matla$系统也可以恢复这些常量值。
例如】> pi=4pi =
> clear pi
> pians =
matlab是基于数组的语言,因此,它的运算也就定义为数组的运算。当然,它的一些运算符对于普通的数的运算,也可以进行。
matlab所运用运算符有很多,如表所示。
matlab运算符可分成三大类:算数运算符、关系运算符和逻辑运算符。
1.矩阵运算。
按线性代数的规则运算。
+、表示和数组两类公用,也用于普通数,还有单目运算功能。
*、表示正常的乘和除。
\ 表示矩阵左除,符号右边为被除数,左边为除数,与右除相反。
^ 表示乘方。
’ 表示矩阵转置。
: 表示矩阵和数组的索引,也用于增量操作。
2.数组运算。
数组间元素对元素的运算。在矩阵运算符的左边加“.”表示。
.*表示数组乘。
./表示数组左除。
.\表示数组右除。
. 表示数组乘方。
.’表示数组转置。
除数组转置外,其他4种运算的两个数组必须有同样的大小。
matlab数组的算数运算,是两个相同维数的数组的对应元素的运算。一个向量和一个二维的数组必须有相同的大小,才可以进行运算。一个标量和数组的运算,是标量和数组每个元素的运算,这个特性叫做标量扩展。
例如】标量扩展示例。
> a=magic(3)a =
> a^3ans =
例如】矩阵a乘b示例。
> a=[1 3 5;2 4 6];
> b=[-5 8 11;3 9 12;1 2 3];
> c=a*bc =
< 表示小于。
<=表示小于或等于。
> 表示大于。
>=表示大于或等于。
==表示等于。
~=表示不等于。
关系运算时两个数组间元素对元素的比较。因此,两个运算对象数组要有相同的维数,结果是一个逻辑数组,与操作对象数组有相同的维数,数组元素是逻辑1(关系是真)和逻辑0(关系是假)。
如果运算对象一个是二维数组,另一个是向量,那么,它们必须有相同的大小。
如果运算对象一个是标量,而另一个是数组或向量,那么,matlab将标量与数组或向量的每一个元素进行比较,结果是与运算对象一样的大小的逻辑数组或向量。
例如】数组a和数组b比较相等的示例。
> a=[1 3 5;2 4 6;1 2 3];
b=[1 2 4;3 6 4;1 5 3];
> a==bans =
matlab提供了4种类型的逻辑运算。
1. 元素方式。
& 逻辑与(and)表示两个数组的对应元素都是1,结果都为1,否则为0。
| 逻辑或(or)表示对应元素只要有一个是1,结果为1,否则为0。
~ 非(not)表示单目运算,与元素相反。
xor 异或表示对应元素不同,结果为1,相同为0。
逻辑数组间对应元素的运算:要求两个对象数组有相同的维数,每一维有一样的大小,并且允许一个对象是标量。结果生成与运算对象同样大小的逻辑数组。
例如】向量a和向量b的运算示例。
> a=[0 1 1 0 1];
b=[1 1 0 0 1];
a&b;a|b;
a;xor(a,b)ans =
ans =ans =
ans =
2. 位方式运算函数。
位方式运算函数对非负整数进行二进制位对位的逻辑运算,输入可以是标量或数组。如果是数组,这些函数生成一个同样大小的结果数组。
其函数调用格式如下:
c=bitand(a,b)
c=bitor(a,b)
c=bitcmp(a,n)
c=bitxor(a,b)
其中, c=bitand(a,b):表示位对位的and。
c=bitor(a,b):表示位对位的or。
c=bitcmp(a,n):表示位方式的反码,共n位。n必须小于a的二进制位数。
c=bitxor(a,b):表示位方式的xor。
例如】a和b为标量,并作为输入的示例。
> a=28;
b=25;bitand(a,b)
bitor(a,b)
bitcmp(a,n)
bitxor(a,b)ans =
ans =ans =
ans =
3. 捷径运算符。
捷径运算符操作如下:
&&捷径and。
||捷径or。
它们对含有标量值的逻辑表达式执行and和or运算。
说它们走捷径,是因为它们首先判断第一个运算对象,如果可以知道结果,就不必再判断第二个对象了;否则,再判断第二个对象。例如,a&&b:表示若a=0(false),结果为0,不必再运算b了。
a||b:表示若a=1(true),结果为1,不必再运算b了。
例如】捷径运算示例。
> b=3;
> a=2;
> x=(b~=0)&&a/b>15)x =
这个例子很有意义,因为可以避免被0除的错误。
4. 两个逻辑运算函数。
any和all函数也是在数组上进行逻辑操作,但不是元素对元素的运算。
其函数调用格式如下:
b=any(a,dim)
b=all(a,dim)
其中,a为数组;dim指定按行或列操作,按列的值为1,按行的值为2,默认值为1。
按数组a的行或列操作。按列,结果b是一个行向量;按行,结果b是一个列向量。b的每个元素是a上午1列或1行的操作结果。
any(a,dim)查验a的列或行,每列或行只要有一个元素是1,结果就为1。
all(a,dim)查验a的列或行,每列或行的所有元素都是1,结果才为1。
any函数和all函数忽略输入数组中的任何null值。
例如】用all函数对数组a按行、按列做判断。
> a=[1 1 1;1 1 0];
> b=all(a,2)b =
第二章MATLAB
2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...
第二章MATLAB
2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...
MATLAB第二章
目录。第二章matlab基础 1 2.1 变量和数组 1 2.2 matlab变量的初始化 3 2.2.1 用赋值语句初始化变量 3 2.2.2 用捷径表达式 short expressions 来赋值 4 2.2.3 用内置函数来初始化 5 2.2.4用关键字input初始化变量 6 测试2.1 ...