码迷,mamicode.com
首页 > 其他好文 > 详细

Matlab位运算笔记

时间:2016-03-13 19:52:55      阅读:621      评论:0      收藏:0      [点我收藏+]

标签:

本文为转载其他地方的文章;

 

MATLAB函数

1、matlab函数bitset

设置数的某一位二进制位为1. 《Simulink与信号处理》

使用方法

C = bitset(A,bit)
将数A的第bit二进制位设为1.
C = bitset(A,bit,V) 《Simulink与信号处理》
将数A的第bit二进制位设为V,V必须为0或1.
 

应用举例

例1: .
C = bitset(uint8(9),5) C = 25 将数字9(01001)的第5位设为1,C的二进制位11001 例2: C = bitset(uint8(9),1,0)
C = 8 将数字9的第1位设为0
2、matlab函数bitget()
3、matlab中的函数getbit()
matlab逻辑符号异或表示:
c=bitxor(a,b);
按位异或,采用bitxor函数。bitxor(1,2)=3。基本思路是首先转换为二进制,接着做按位xor操作,然后转换为十进制。
xor 逻辑异或  只能处理1和0。
4、matlab中的函数round
取整为最近的整数
5、zeros(m,n) 函数建立一个全0矩阵m*n
6、bitget(A,bit) 获得数A的第bit位二进制值
例一:

十进制的5,写成二进制是101。
输入dec2bin(5),
返回结果101。

输入bitget(5,1),获取最低位,
返回结果1。

输入bitget(5,2),获取次低位,
返回结果0。

输入bitget(5,1),获取最高位,
返回结果1。

例二:

把5的二进制储存为矩阵。
xBin=bitget(5,3:-1:1)
返回
[1 0 1]
>> bitget(3,1)

ans =

     1

>> bitget(3,2)

ans =

     1

>> bitget(3,3)

ans =

     0

>> bitget(3,4)

ans =

     0
7、 matlab uint8是什么类型的数据
ans =无符号整型应该是uint8,表示变量是无符号整数,范围是0到255.
uint8是指0~2^8-1 = 255数据类型,一般在图像处理中很常见。
8、ans计算结果变量名
9、MATLAB中取整函数(fix, floor, ceil, round)的使用 

MATLAB取整函数

1)fix(x) : 截尾取整.

>> fix( [3.12 -3.12])

ans =

     3    -3
(2)floor(x):不超过x 的最大整数.(高斯取整)

>> floor( [3.12 -3.12])

ans =

     3    -4

(3)ceil(x) : 大于x 的最小整数

>> ceil( [3.12 -3.12])

ans =

     4    -3

(4)四舍五入取整

>> round(3.12 -3.12)

ans =

     0

>> round([3.12 -3.12])

ans =

     3    -3

 

MATLAB中四个取整函数具体使用方法如下:


Matlab取整函数有: fix, floor, ceil, round.
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。

10、MATLAB中 fix(x) 什么意思?
FIX(X) rounds the elements of X to the nearest integers   towards zero.
向0靠拢取整,例:
>> fix(3.2)
ans =
     3
>> fix(3.7)
ans =
     3
>> fix(-3.7)
ans =
    -3
>> fix(-3.2)
ans =
    -3
11、matlab 如何实现按位异或

g=01001011 q=10100010;

>> clear
>> g=uint8(bin2dec(‘01001011‘));
>> q=uint8(bin2dec(‘10100010‘));
>> c=dec2bin(bitxor(g,q))

c =

11101001

>> 
其中bitxor是按位异或, 位运算函数要求输入必须同为无符号整数、无符号整数数组或者标量浮点数,且输出与输入的类型一致。dec2bin和bin2dec为二进制和十进制互相转换的函数。以上函数详细用法请查看help
 
12、

 

Matlab位运算笔记

标签:

原文地址:http://www.cnblogs.com/jason-wyf/p/5272814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!