7.1 矩阵和向量操作
逗号或者空格用于指定不同列的元素,分号则用于指定不同行的元素。
向量的转置,用A’实现。
通过向量的下标或者索引,可以取得相应位置的元素,首个元素的下标为1。取出向量中第5个元素。
相同大小和维数的矩阵进行元素之间的运算时,如果是加减运算,直接使用加减运算符即可;如果是乘除运算,则必须使用“.*”和“./”。乘除符号前面的点表示是这是对应元素之间的运算。常用的乘除符号在矩阵运算中是有专门定义的,并非对应元素的运算。
ones函数用来创建全1矩阵,zeros函数用来创建全0矩阵:
eye函数用来创建单位矩阵。rand函数用来创建随机数矩阵。
矩阵元素的插入、替换、删除和提取:
◆ 通过矩阵的索引或者下标定位要操作的元素,给定行列索引即可定位矩阵中的元素。
◆ 使用单个索引。矩阵在内存中是以列的方式存储的,因此,MathScript 还提供了另外一种定位元素的方法——使用单个索引。某些情况下,这个方法的效率更高。
MathScript支持整行或者整列元素的插入或者替换操作,用“:”表示选择整行或者整列。整行和整列的插入与替换,示例代码如下所示:
7.2 矩阵中元素的数据类型及转换
MathScript创建的矩阵,元素的默认数据类型是int32型。
7.2.1 数值数据类型的强制转换
在变量前面加上要转换的数据类型即可。
>>x = [1 2 3;4 5 6]
x =
1 2 3
4 5 6
>>class(x)
ans =
int32
>>x = int8(x)
x =
1 2 3
4 5 6
>>class(x)
ans =
int8
7.2.2 字符串数据类型
MathScript中定义字符串时,字符串两端需要使用单引号。
>>str = 'Mr.Elegant'
str =
Mr.Elegant
>>class(str)
ans =
char
>>size(str)
ans =
1 10
>>whos str
Variable Dimension Type Bytes
str 1x10 char array 10
7.2.3 字符串与ASCII的相互转换
在MathScript中,字符串两端需要使用单引号,每个字符占1字节,每个中文字符占两个字节。
7.2.4 使用矩阵运算操作字符串
一个字符串是被作为行向量处理的,而字符串数组则需要用矩阵来表示,其要求各个字符串的长度必须相同,否则无法构成矩阵。MathScript提供了两个函数可以自动填充,char函数和strvcat函数。
str = char('first','sencond','third','fouth')
7.3 关系运算、逻辑运算和位操作
关系运算符:< > <= >= == ~=
>>x = 1:5
x =
1 2 3 4 5
>>y=x>3
y =
0 0 0 1 1
关系运算返回的数据类型是logical,即逻辑数据类型,占一个字节。
7.4 集合函数
sets_intersect函数:用于求两个集合的交集。 c是共有元素形成的向量,d是向量x中共有元素的索引,e是y向量中共有元素的索引。
>>x=3:6
x =
3 4 5 6
>>y=1:4
y =
1 2 3 4
>>[c d e]=intersect(x,y)
c =
3 4
d =
1 2
e =
3 4
setdiff函数:用于返回隶属于第一个集合而不属于另一个集合的元素,用法类似于setintersect。
setxor函数:两个集合交集的补集,用于返回两个集合中不相同的元素。
union:并集
unique
7.5 时间、日期和计时函数
7.6 程序控制结构
for:If the expression is a vector, LabVIEW executes the for loop once for each element. If the expression is a matrix, LabVIEW executes the for loop once for each column.
A = 1
for X = 1:1:10
A = A+1
end
while
if
switch