MATLAB位运算
MATLAB提供位运算,如'位','位或'和'位不操作,移位操作等各种函数
以下的表格显示了常用的按位运算:
函数 | 目的/作用 |
---|---|
bitand(a, b) | 整数a和b的逐位AND |
bitcmp(a) | a的位补码 |
bitget(a,pos) | 在指定位置pos中获取位,在整数数组A中 |
bitor(a, b) | 整数a和b的逐位OR |
bitset(a, pos) | 在某一位置上设置位 |
bitshift(a, k) | 返回向左移位k位,相当于乘以2k。k的负值对应于向右移位或除以2 | k | 并舍入到最接近的整数到负无穷大。任何溢出位都被截断。 |
bitxor(a, b) | 整数a和b的逐位异或 |
swapbytes | 交换字节顺序 |
详细例子
在MATLAB中建立一个脚本文件,并输入下面的代码:
a = 60; % 60 = 0011 1100 b = 13; % 13 = 0000 1101 c = bitand(a, b) % 12 = 0000 1100 c = bitor(a, b) % 61 = 0011 1101 c = bitxor(a, b) % 49 = 0011 0001 c = bitshift(a, 2) % 240 = 1111 0000 */ c = bitshift(a,-2) % 15 = 0000 1111 */
运行该文件,显示以下结果:
c = 12 c = 61 c = 49 c = 240 c = 15
MATLAB集合操作
MATLAB中包含多样的函数集合运算,如集,交集和测试组成员等。
下表显示了一些常用的设置操作:
函数 | 描述 |
---|---|
intersect(A,B) | 设置两个数组的交集;返回A和B所共有的值。返回的值按排序顺序排列。 |
intersect(A,B,'rows') | 将A和B的每一行作为单个实体处理,并返回A和B的公共行。返回的矩阵的行按排序顺序排列。 |
ismember(A,B) | 返回与A大小相同的数组,包含1(true),其中A的元素在其他地方的B中找到,它返回0(false)。 |
ismember(A,B,'rows') | 将A和B的每一行作为单个实体处理,并返回一个包含1(true)的向量,其中矩阵A的行也是B的行;否则,它返回0(false)。 |
issorted(A) | 如果A的元素按排序顺序返回逻辑1(true),否则返回逻辑0(false)。输入A可以是向量,也可以是N-by-1或1-by-N的字符串数组。如果A和sort(A)的输出相等,则A被认为是排序的。 |
issorted(A, 'rows') | 如果二维矩阵A的行按排序顺序返回逻辑1(真),否则返回逻辑0(假)。 如果A和排序(A)的输出相等,则认为矩阵A被排序。 |
setdiff(A,B) | 设置两个数组的差值;返回不在B中的值。返回数组中的值按排序顺序排列。 |
setdiff(A,B,'rows') | 将每一行A和B行作为单个实体处理,并返回一个不在B中的行。返回的矩阵的行按排序顺序排列。 “行”选项不支持单元格数组。 |
setxor | 设置两个数组的异或 |
union | 设置两个数组的并集 |
unique | 数组中唯一的值 |
详细例子
在MATLAB中建立一个脚本文件,并键入下面的代码:文章来源:https://www.toymoban.com/news/detail-466423.html
a = [7 23 14 15 9 12 8 24 35] b = [ 2 5 7 8 14 16 25 35 27] u = union(a, b) i = intersect(a, b) s = setdiff(a, b)
运行该文件,产生以下结果:文章来源地址https://www.toymoban.com/news/detail-466423.html
a = 7 23 14 15 9 12 8 24 35 b = 2 5 7 8 14 16 25 35 27 u = Columns 1 through 11 2 5 7 8 9 12 14 15 16 23 24 Columns 12 through 14 25 27 35 i = 7 8 14 35 s = 9 12 15 23 24
到了这里,关于MATLAB入门教程||MATLAB位运算||MATLAB集合操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!