1.1简介
MATLAB是美国
MathWorks
公司出品的商业
数学软件
,用于
数据分析
、
无线通信
、
深度学习
、
图像处理
与
计算机视觉
、
信号处理
、量化金融与风险管理、机器人,
控制系统
等领域。 [1]
MATLAB是matrix&laboratory两个词的
组合
,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将
数值分析
、
矩阵计算
、科学数据可视化以及非
线性
动态系统的
建模
和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式
程序设计语言
(如C、Fortran)的编辑模式。 [1]
MATLAB和
Mathematica
、
Maple
并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行
矩阵
运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的
指令
表达式
与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,
FORTRAN
等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的
数学软件
。在新的版本中也加入了对
C
,
FORTRAN
,
C++
,
JAVA
的支持。
1.2 软件操作界面
1、启动MATLAB界面:
2、进入主界面:
3、界面功能窗口简单介绍
4、编写代码并执行指定代码
5、执行代码,console命令行窗口查看结果:
2、MATLAB变量使用技巧
matlab格式命令 format
format long`长(long ) 命令格式显示小数点后16位。
默认情况下,MATLAB 四个小数位值显示数字。这就是所谓的 short format.
空格格式命令回合到小数点后两位数字。例如:
format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6
MATLAB将执行上面的语句,并返回以下结果:
weekly_wage =
1064.70
MATLAB 显示大量使用指数表示法。
短格式e命令允许以指数的形式显示小数点后四位,加上指数。
format short e
4.678 * 4.9
MATLAB将执行上面的语句,并返回以下结果:
ans =
2.2922e+01
format long e命令允许以指数的形式显示小数点后十六位,加上指数。例如:
format long e
x = pi
MATLAB将执行上面的语句,并返回以下结果:
3.141592653589793e+00
format rat 格式大鼠命令给出最接近的有理表达式,从计算所得。例如:
format rat
4.678 * 4.9
MATLAB将执行上面的语句,并返回以下结果:
ans =
2063/90
长任务可以通过使用省略号(…)延伸到另一条线路。例如,
initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity ...
+ acceleration * time
MATLAB常用的运算符和特殊字符
MATLAB常用的运算符和特殊字符如下表所示:
加;加法运算符
减;减法运算符
*****
标量和矩阵乘法运算符
数组乘法运算符
标量和矩阵求幂运算符
数组求幂运算符
向量生成;子阵提取
下标运算;参数定义
点乘运算,常与其他运算符联合使用
续行标志;行连续运算符
分行符(该行结果不显示)
语句结束;分行符(该行结果显示)
引用符号和转置运算符
非共轭转置运算符
赋值运算符
向量是一维数组中的数字。 MATLAB允许创建两种类型的矢量:
创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。
r = [7 8 9 10 11]
创建列向量通过内附组方括号中的元素,使用分号(;)分隔的元素。
c = [7; 8; 9; 10; 11]
普通创建方式如下:
矩阵是一个二维数字阵列。
在MATLAB中,创建一个矩阵每行输入空格或逗号分隔的元素序列,最后一排被划定一个分号。
例如,下面创建了一个3×3的矩阵:
m = [1 2 3; 4 5 6; 7 8 9]
创建矩阵的另一种方法是使用 ones
、zeros
或 rand
等函数。
z = zeros(5,1)//创建5行,1列的矩阵,值全为0
o = ones(5,2)//创建5行,2列的矩阵,值全为1
r = rand(5,3)//创建5行,3列的矩阵,值为0到1的随机数
r = rand(5,3)//创建5行,3列的矩阵,值为0到1的随机数
a = r'//矩阵转置,列变为行,行变为列
矩阵元素级操作
执行元素级乘法(而非矩阵乘法),请使用 .*
运算符:
a = [1 2 3;4 5 6;7 8 9]
p = a.*a
1 2 3
4 5 6
7 8 9
1 4 9
16 25 36
49 64 81
执行元素级求幂
a = [1 2 3;4 5 6;7 8 9]
1 2 3
4 5 6
7 8 9
ans =
1 8 27
64 125 216
343 512 729
3、MATLAB常用命令
MATLAB管理会话的命令
MATLAB提供管理会话的各种命令。如下表所示:
目的/作用
清除命令窗口。
clear
从内存中删除变量。
exist
检查存在的文件或变量。
global
声明变量为全局。
搜索帮助主题。
lookfor
搜索帮助关键字条目。
停止MATLAB。
列出当前变量。
列出当前变量(长显示)。
MATLAB的系统命令
使用MATLAB的时候有一些系统命令可以方便我们的操作,如在当前的工作区中可以使用系统命令保存为一个文件、加载文件、显示日期、列出目录中的文件和显示当前目录等。
下表列举了一些MATLAB常用的系统相关的命令:
目的/作用
改变当前目录。
显示当前日期。
delete
删除一个文件。
diary
日记文件记录开/关切换。
列出当前目录中的所有文件。
负载工作区从一个文件中的变量。
显示搜索路径。
显示当前目录。
保存在一个文件中的工作区变量。
显示一个文件的内容。
列出所有MATLAB文件在当前目录中。
wklread
读取.wk1电子表格文件。
MATLAB输入和输出命令
MATLAB提供了以下输入和输出相关的命令:
作用/目的
显示一个数组或字符串的内容。
fscanf
阅读从文件格式的数据。
format
控制屏幕显示的格式。
fprintf
执行格式化写入到屏幕或文件。
input
显示提示并等待输入。
禁止显示网版印刷
fscanf和fprintf命令的行为像C scanf和printf函数。他们支持格式如下代码:
目的/作用
输出字符串
输出浮点数
显示科学计数法形式
%f 和%e 的结合,根据数据选择适当的显示方式
用于数字显示格式的函数有以下几种形式:
Format函数 |
最多可显示 |
---|
format short |
四位十进制数(默认) |
format long |
15位定点表示 |
format short e |
五位浮点表示 |
format long e |
15位浮点表示 |
format bank |
两个十进制数字 |
format + |
正,负或零 |
format rat |
有理数近似 |
format compact |
变量之间没有空行 |
format loose |
变量之间有空行 |
MATLAB向量,矩阵和阵列命令
下表列出了MATLAB用于工作数组、矩阵和向量的各种命令:
作用/目的
查找非零元素的索引
length
计算元素数量
linspace
创建间隔向量
logspace
创建对数间隔向量
返回最大元素
返回最小元素
计算数组元素的连乘积
reshape
重新调整矩阵的行数、列数、维数
计算数组大小
排序每个列
创建一个单位矩阵
生成全1矩阵
zeros
生成零矩阵
cross
计算矩阵交叉乘积
计算矩阵点积
计算数组的行列式
计算矩阵的逆
计算矩阵的伪逆
计算矩阵的秩
将矩阵化成行最简形
创建单元数组
celldisp
显示单元数组
cellplot
显示单元数组的图形表示
num2cell
将数值阵列转化为异质阵列
匹配输入和输出列表
iscell
判断是否为元胞类型
MATLAB绘图命令
MATLAB提供了大量的命令绘制图表。下表列出了一些常用的命令绘制:
作用/目的
人功选择坐标轴尺寸
fplot
智能绘图功能
显示网格线
生成XY图
print
打印或绘图到文件
title
把文字置于顶部
xlabel
将文本标签添加到x轴
ylabel
将文本标签添加到y轴
创建轴对象
close
关闭当前的绘图
close all
关闭所有绘图
figure
打开一个新的图形窗口
gtext
通过鼠标在指定位置放注文
保持当前图形
legend
鼠标放置图例
refresh
重新绘制当前图形窗口
指定对象的属性,如轴
subplot
在子窗口中创建图
在图上做标记
创建条形图
loglog
创建双对数图
polar
创建极坐标图像
semilogx
创建半对数图(对数横坐标)
semilogy
创建半对数图(对数纵坐标)
stairs
创建阶梯图
创建针状图
MATLAB逻辑运算都是针对元素的操作,运算结果是特殊的逻辑数组;在逻辑分析时,逻辑(真)用1表示,逻辑假用0表示,逻辑运算中所有的非零元素作为1处理。
使用MATLAB逻辑运算时的语法不要与C语言、Java等编程语言混淆。
MATLAB 有两种类型的逻辑运算符和函数:
- Element-wise - 这些运算上的对应元素的逻辑阵列。
- Short-circuit - 这些运算上的标量,逻辑表达式。
MATLAB元素明智的逻辑运算符操作元素元素逻辑阵列:符号&,|和〜逻辑数组运算符AND,OR,NOT。
MATLAB允许短路的短路逻辑运算符,逻辑运算:符号&&和| |是短路逻辑符AND和OR。
在MATLAB中建立一个脚本文件,并输入下面的代码:
a = 5;
b = 20;
if ( a && b )
disp('Line 1 - Condition is true');
if ( a || b )
disp('Line 2 - Condition is true');
% lets change the value of a and b
a = 0;
b = 10;
if ( a && b )
disp('Line 3 - Condition is true');
disp('Line 3 - Condition is not true');
if (~(a && b))
disp('Line 4 - Condition is true');
运行该文件,产生如下结果:
Line 1 - Condition is true
Line 2 - Condition is true
Line 3 - Condition is not true
Line 4 - Condition is true
MATLAB逻辑运算功能
除了在上述的逻辑运算符,MATLAB 提供下面的命令或函数用于同样的目的:
and(A, B)
查找数组或标量输入的逻辑和;执行所有输入数组A,B等的逻辑AND,并返回包含设置为逻辑1(真)或逻辑0(假)的元素的数组。如果所有输入数组在同一个数组位置都包含一个非零元素,那么输出数组的一个元素将被设置为1;否则,该元素设置为0。
not(A)
查找数组或标量输入的逻辑NOT;执行输入数组A的逻辑NOT,并返回包含设置为逻辑1(真)或逻辑0(假)的元素的数组。如果输入数组在同一个数组位置包含一个零值元素,那么输出数组的一个元素将被设置为1;否则,该元素设置为0。
or(A, B)
查找数组或标量输入的逻辑或; 执行所有输入数组A,B等的逻辑或,并返回包含设置为逻辑1(真)或逻辑0(假)的元素的数组。如果任何输入数组在同一个数组位置包含一个非零元素,则输出数组的一个元素设置为1;否则,该元素设置为0。
xor(A, B)
逻辑异或; 对数组A和B的相应元素执行异或运算。如果A(i,j,…)或B(i,j)…,则所得到的元素C(i,j,…) j,…),但不是两者都是非零的。
all(A)
确定数组A的所有数组元素是否为非零或真。如果A是向量,则如果所有元素都为非零,则所有(A)返回逻辑1(真),如果一个或多个元素为零,则返回逻辑0(假)。如果A是非空矩阵,则所有(A)将A的列视为向量,返回逻辑1和0的行向量。如果A是空的0x0矩阵,则全部(A)返回逻辑1(真)。如果A是一个多维数组,则所有(A)都沿着第一个非指定维度行事,并返回一个逻辑值数组。 该尺寸的尺寸减小到1,而所有其他尺寸的尺寸保持不变。这个维度的大小减少到1,而其他所有维度的尺寸保持不变。
all(A, dim)
通过标量dim沿着维数A的维度进行测试。
any(A)
确定数组元素是否为非零;测试数组中不同维度的元素是否为非零数字,或是逻辑1(真)。 任何函数忽略NaN(不是数字)的条目。如果A是向量,任何(A)如果A的任何元素是非零数或逻辑1(真),则返回逻辑1(真),如果所有元素为零,则返回逻辑0(假)。如果A是非空矩阵,则任何(A)将A的列视为向量,返回逻辑1和0的行向量。如果A是一个空的0x0矩阵,任何(A)返回逻辑0(假)。如果A是一个多维数组,则任何(A)都沿着第一个非整数维进行操作,并返回一个逻辑值数组。该维度的尺寸减小到1,而所有其他维度的尺寸保持不变。
any(A,dim)
通过标量dim沿着维数A的维度进行测试。
false
逻辑0(假)
false(n)
是逻辑0的n×n矩阵
false(m, n)
是逻辑0的一个m×n矩阵。
false(m, n, p, …)
是由逻辑0的逐列逐列数组。
false(size(A))
是与数组A大小相同的逻辑零数组。
false(…,‘like’,p)
是与逻辑阵列p相同的数据类型和稀疏性的逻辑零数组。
ind = find(X)
查找非零元素的索引和值;定位数组X的所有非零元素,并返回向量中这些元素的线性索引。 如果X是行向量,则返回的向量是行向量; 否则返回列向量。如果X不包含非零元素或是空数组,则返回一个空数组。
ind = find(X, k)ind = find(X, k, ‘first’)
最多返回与X的非零条目相对应的前k个索引。k必须是正整数,但它可以是任何数字数据类型。
ind = find(X, k, ‘last’)
最多返回与X的非零条目相对应的最后k个索引。
[row,col] = find(X, …)
返回矩阵X中非零条目的行和列索引。使用稀疏矩阵时,此语法特别有用。 如果X是N>2的N维数组,col包含列的线性索引。
[row,col,v] = find(X, …)
返回X中非零条目的列或行向量v,以及行和列索引。如果X是逻辑表达式,则v是逻辑数组。 输出v包含通过评估表达式X获得的逻辑数组的非零元素。
islogical(A)
确定输入是否为逻辑数组;如果A是逻辑数组,返回true,否则返回false。 如果A是从逻辑类派生的类的实例,它也返回true。
logical(A)
将数值转换为逻辑;返回一个可用于逻辑索引或逻辑测试的数组。
逻辑1(真)
true(n)
是一个n×n逻辑矩阵。
true(m, n)
是一个mxn逻辑矩阵。
true(m, n, p, …)
是由逻辑1的逐列逐列数组。
true(size(A))
是与数组A大小相同的逻辑数组。
true(…,‘like’, p)
是与逻辑阵列p相同的数据类型和稀疏性的逻辑阵列。
MATLAB的算术运算有两种不同类型:1)矩阵算术运算;2)阵列算术运算。
MATLAB矩阵算术运算与线性代数中的定义相同:执行数组操作,无论是在一维和多维数组元素的元素。
矩阵运算符和数组运营商是有区别的句点(.)符号。然而,由于加法和减法运算矩阵和阵列是相同的,操作者这两种情况下是相同的。
下表给出了运算符的简要说明:
加法或一元加号。A + B将A和B。 A和B必须具有相同的尺寸,除非一个人是一个标量。一个标量,可以被添加到任何大小的矩阵。
减法或一元减号。A - B,减去B从A和B必须具有相同的大小,除非是一个标量。可以从任意大小的矩阵中减去一个标量。
*****
矩阵乘法;是一个更精确的矩阵A和B的线性代数积,矩阵乘法对于非纯量A和B,列一个数必须等于B.标量可以乘以一个任意大小的矩阵的行数。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yvbDmAV1-1616230062391)(http://www.yiibai.com/uploads/allimg/131001/1643251036-0.jpg)]
数组的乘法;A.*B是数组A和B的元素积,A和B必须具有相同的大小,除非A、B中有一个是标量。
斜线或矩阵右除法;B/A与B * inv(A)大致相同。更确切地说: B/A = (A’B’)’
矩阵右除法;矩阵A与矩阵B相应元素相除(A、B为同纬度的矩阵)
反斜杠或矩阵左除;如果A是一个方阵,AB是大致相同的INV(A)* B,除非它是以不同的方式计算。如果A是一个n*n的矩阵,B是一个n组成的列向量,或是由若干这样的列的矩阵,则X = AB 是方程 AX = B ,如果A严重缩小或者几乎为单数,则显示警告消息。
数组左除法;A. B是元素B(i,j)/A(i,j)的矩阵。A和B必须具有相同的大小,除非其中一个是标量。
矩阵的幂。X^P是X到幂P,如果p是标量;如果p是一个整数,则通过重复平方计算功率。如果整数为负数,X首先反转。对P值的计算,涉及到特征值和特征向量,即如果[ D ] = V,EIG(x),那么X^P = V * D.^P / V。
A.^B:A的每个元素的B次幂(A、B为同纬度的矩阵)
矩阵的转置;A’是复数矩阵A的线性代数转置,这是复共轭转置。
数组的转置;A’是数组A的转置,对于复数矩阵,这不涉及共轭。
下面的例子显示使用标量数据的算术运算符。创建一个脚本文件,用下面的代码:
a = 10;
b = 20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a b
x = 7;
y = 3;
z = x ^ y
运行该文件,产生结果如下:
0.5000
MATLAB算术运算功能
除了上述列举的一些算术运算符,MATLAB 中还拥有以下的命令/功能:
uplus(a)
一元加号;增加量a
plus (a,b)
相加;返回 a + b
uminus(a)
一元减号;减少a
minus(a, b)
相减;返回 a - b
times(a, b)
数组相乘;返回 a.*b
mtimes(a, b)
矩阵相乘;返回 a* b
rdivide(a, b)
右阵划分;返回 a ./ b
ldivide(a, b)
左阵划分;返回 a. b
mrdivide(A, B)
求解线性方程组xA = B for x
mldivide(A, B)
求解线性方程组xA = B for x
power(a, b)
数组求幂;返回 a.^b
mpower(a, b)
矩阵求幂;返回 a ^ b
cumprod(A)
累积乘积;返回与包含累积乘积的数组A相同大小的数组。如果A是向量,则cumprod(A)返回一个包含A的元素的累积乘积的向量。如果A是矩阵,则cumprod(A)返回一个矩阵,其中包含A的每一列的累积乘积。如果A是一个多维数组,那么cumprod(A)将沿着第一个非正整数维。
cumprod(A, dim)
沿维 dim 返回返回累积乘积。
cumsum(A)
累加总和;返回包含累积和的数组A如果A是向量,则cumsum(A)返回一个包含A的元素的累积和的向量。如果A是矩阵,则cumsum(A)返回一个矩阵,其中包含A的每列的累积和。如果A是一个多维数组,那么cumsum(A)将沿着第一个非整数维度起作用。
cumsum(A, dim)
返回沿着dim的元素的累积和。
diff(X)
差分和近似导数;计算x相邻元素之间的差异。如果X是向量,则diff(X)返回相邻元素之间的差异的向量,比X短一个元素:[X(2)-X(1)X(3)-X(2)… X(N)-X(N-1)]如果X是一个矩阵,则diff(X)返回行差的矩阵:[X(2:m,…)-X(1:m-1,????]
diff(X,n)
递归应用n次,导致第n个差异。
diff(X,n,dim)
它是沿标量dim指定的维数计算的第n个差分函数。 如果order n等于或超过Dim的长度,diff将返回一个空数组。
prod(A)
数组元素的乘积;返回A数组元素的乘积。如果A是向量,则prod(A)返回元素的乘积。如果A是非空矩阵,则prod(A)将A的列作为向量,并返回每列乘积的行向量。如果A是一个空的0-by-0矩阵,则prod(A)返回1。如果A是一个多维数组,那么prod(A)将沿着第一个非子集维度行为并返回一个乘积数组。 该维数的尺寸减小到1,而所有其他维数的尺寸保持不变。如果输入A为单个,则prod函数计算并返回B为单个;对于所有其他数字和逻辑数据类型,prod函数计算并返回B为double。
prod(A,dim)
沿dim维度返回乘积。 例如,如果A是矩阵,则prod(A,2)是包含每一行的乘积的列向量。
prod(___,datatype)
在数据类型指定的类中乘以并返回一个数组。
sum(A)
数组元素的总和;返回数组的不同维度的和。如果A是浮动的,那么是双倍或单个,B是本地累加的,它与A相同,B与A具有相同的类。如果A不是浮动的,则B被累加为双,B具有类double。如果A是向量,则sum(A)返回元素的总和。如果A是矩阵,则sum(A)将A的列作为向量,返回每列的和的行向量。如果A是一个多维数组,sum(A)将沿着第一个非单例维度的值作为向量来处理,返回一个行向量的数组。
sum(A,dim)
沿标量A的维度求和。
sum(…, ‘double’)sum(…, dim,‘double’)
执行双精度加法,并返回double类型的答案,即使A具有数据类型单一或整型数据类型。这是整型数据类型的默认值。
sum(…, ‘native’)sum(…, dim,‘native’)
在本机数据类型A中执行添加,并返回相同数据类型的答案。 这是单和双的默认值。
ceil(A)
向正无穷方向舍入;将a元素舍入为大于或等于A的最近整数。
fix(A)
floor(A)
向负无穷方向舍入;将a元素舍入为小于或等于a的最近整数。
idivide(a, b)idivide(a, b,‘fix’)
整数除法的舍入选项;与A./B相同,只是分数的商向零舍入到最接近的整数。
idivide(a, b, ‘round’)
分数的商舍入到最近的整数。
idivide(A, B, ‘floor’)
分数商向负无穷大舍入到最接近的整数。
idivide(A, B, ‘ceil’)
分数商向无穷大舍入到最接近的整数。
mod (X,Y)
除法后的模数;返回X - n.* Y,其中 n = floor(X./Y)。 如果Y不是整数,并且商X / Y在整数的舍入误差内,则n是整数。 输入X和Y必须是相同大小的真实数组或实数标量(提供Y〜= 0)。请注意:mod(X,0) 是 Xmod(X,X) 是 0对于 X = Y 和 Y = 0的 mod(X,Y)具有与Y相同的符号。
rem (X,Y)
除法之后的余数;返回X - n.* Y,其中n = fix(X./Y)。 如果Y不是整数,并且商X / Y在整数的舍入误差内,则n是整数。 输入X和Y必须是相同大小的真实数组或实数标量(提供Y〜= 0)。请记住:rem(X,0) 是 NaNX〜= 0的rem(X,X)为0对于 X~=Y 和 Y~=0 的rem(X,Y)与X具有相同的符号。
round(X)
舍入到最接近的整数; 将X的元素舍入到最接近的整数。 正数元素的小数部分为0.5,最大到最接近的正整数。 负数元素的小数部分为-0.5,向下舍入到最接近的负整数。
MATLAB关系运算
2018-08-11 10:29 更新
MATLAB关系运算符对数组的元素进行设置,将元素设置为逻辑1(真)的关系是真实的和逻辑0(假),它是两个阵列,可以返回一个相同大小的逻辑阵列间的比较。
MATLAB关系运算符标和非标量数据上也能正常工作。
MATLAB关系运算符如下表:
在MATLAB的命令提示符下建立一个脚本文件,并输入下述代码:
a = 100;
b = 200;
if (a >= b)
max = a
max = b
运行该文件,产生的结果如下:
max =
除了在上述的关系运算符,MATLAB提供下列命令/函数用于同样的目的:
eq(a, b)
测试a是否等于b
ge(a, b)
测试是否大于或等于B
gt(a, b)
测试a是否大于b
le(a, b)
测试a是否小于或等于b
lt(a, b)
测试a是否小于b
ne(a, b)
测试a是否不等于b
isequal
测试数组以获得相等性
isequaln
测试数组相等,将NaN值视为相等
在MATLAB的命令提示符中建立一个脚本文件,并输入下述的代码:
% comparing two values
a = 100;
b = 200;
if (ge(a,b))
max = a
max = b
% comparing two different values
a = 340;
b = 520;
if (le(a, b))
disp(' a is either less than or equal to b')
disp(' a is greater than b')
运行该文件,产生如下结果:
max =
a is either less than or equal to b
MATLAB位运算
2018-08-11 10:24 更新
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 */
运行该文件,显示以下结果:
JAVA代码中逻辑bug java逻辑或运算规则
java的逻辑运算符有&,|,^,!, &&,||注意事项:a:逻辑运算符一般用于连接boolean类型的表达式或者值。b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b比较表达式:a == b(条件表达式)&逻辑与:有false则false。|逻辑或:有true则true。^逻辑异或:相同为false,不同为
JAVA字符串中的占位符怎么 java输出占位符变量
1. 输入输出输入System.out.print() // 不换行输出
System.out.println() // 换行输出格式化输出System.out.printf() 结合占位符输出想要的格式,常见占位符:
%d:格式化输出整数
%x:格式化输出十六进制整数
%f:格式化输出浮点数
%e:格式化输出科学计数法表示的浮点数
%s: 格式化字符串,不知道用什么占位符,都可以用 %s