LabVIEW开发宝典

7.1 矩阵和向量操作

逗号或者空格用于指定不同列的元素,分号则用于指定不同行的元素。
向量的转置,用A’实现。
通过向量的下标或者索引,可以取得相应位置的元素,首个元素的下标为1。取出向量中第5个元素。

07 MathScript基础知识 - 图1
相同大小和维数的矩阵进行元素之间的运算时,如果是加减运算,直接使用加减运算符即可;如果是乘除运算,则必须使用“.*”和“./”。乘除符号前面的点表示是这是对应元素之间的运算。常用的乘除符号在矩阵运算中是有专门定义的,并非对应元素的运算。

07 MathScript基础知识 - 图2
ones函数用来创建全1矩阵,zeros函数用来创建全0矩阵:

07 MathScript基础知识 - 图3
eye函数用来创建单位矩阵。rand函数用来创建随机数矩阵。
07 MathScript基础知识 - 图4
矩阵元素的插入、替换、删除和提取:
◆ 通过矩阵的索引或者下标定位要操作的元素,给定行列索引即可定位矩阵中的元素。
◆ 使用单个索引。矩阵在内存中是以列的方式存储的,因此,MathScript 还提供了另外一种定位元素的方法——使用单个索引。某些情况下,这个方法的效率更高。
MathScript支持整行或者整列元素的插入或者替换操作,用“:”表示选择整行或者整列。整行和整列的插入与替换,示例代码如下所示:
07 MathScript基础知识 - 图5

7.2 矩阵中元素的数据类型及转换

MathScript创建的矩阵,元素的默认数据类型是int32型。

7.2.1 数值数据类型的强制转换

在变量前面加上要转换的数据类型即可。

  1. >>x = [1 2 3;4 5 6]
  2. x =
  3. 1 2 3
  4. 4 5 6
  5. >>class(x)
  6. ans =
  7. int32
  8. >>x = int8(x)
  9. x =
  10. 1 2 3
  11. 4 5 6
  12. >>class(x)
  13. ans =
  14. int8

7.2.2 字符串数据类型

MathScript中定义字符串时,字符串两端需要使用单引号。

  1. >>str = 'Mr.Elegant'
  2. str =
  3. Mr.Elegant
  4. >>class(str)
  5. ans =
  6. char
  7. >>size(str)
  8. ans =
  9. 1 10
  10. >>whos str
  11. Variable Dimension Type Bytes
  12. str 1x10 char array 10

7.2.3 字符串与ASCII的相互转换

在MathScript中,字符串两端需要使用单引号,每个字符占1字节,每个中文字符占两个字节。
image.png

7.2.4 使用矩阵运算操作字符串

一个字符串是被作为行向量处理的,而字符串数组则需要用矩阵来表示,其要求各个字符串的长度必须相同,否则无法构成矩阵。MathScript提供了两个函数可以自动填充,char函数和strvcat函数。

  1. str = char('first','sencond','third','fouth')

image.png

image.png

7.3 关系运算、逻辑运算和位操作

关系运算符:< > <= >= == ~=

  1. >>x = 1:5
  2. x =
  3. 1 2 3 4 5
  4. >>y=x>3
  5. y =
  6. 0 0 0 1 1

关系运算返回的数据类型是logical,即逻辑数据类型,占一个字节。

7.4 集合函数

sets_intersect函数:用于求两个集合的交集。 c是共有元素形成的向量,d是向量x中共有元素的索引,e是y向量中共有元素的索引。

  1. >>x=3:6
  2. x =
  3. 3 4 5 6
  4. >>y=1:4
  5. y =
  6. 1 2 3 4
  7. >>[c d e]=intersect(x,y)
  8. c =
  9. 3 4
  10. d =
  11. 1 2
  12. e =
  13. 3 4

setdiff函数:用于返回隶属于第一个集合而不属于另一个集合的元素,用法类似于setintersect。
setxor函数:两个集合交集的补集,用于返回两个集合中不相同的元素。
union:并集
unique

7.5 时间、日期和计时函数

image.png

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.

  1. A = 1
  2. for X = 1:1:10
  3. A = A+1
  4. end

while
if
switch