调试程序所出现的bug可分为3类,语法出错致使的bug,逻辑出错致使的bug,运行当中出现的bug,express
逻辑值有两种 即ture(1) 或 false(0) ,在matlab中使用的是0和1表示假或真的 ,matlab中会产生逻辑值的有两种 ,一种是逻辑运算,一种是关系运算数组
可在工做区当中观察运行的结果是逻辑值仍是数值,若是是逻辑值的话工做区中运行结果的图标是一个勾,若是是数值的话工做区中的图标是一个十字函数
也可使用whos + 运算结果函数名查看其class若是是logical就表示逻辑值,若是是double则表示数值,matlab中不等于的符号是 ~=;调试
当数组和一个数值进行关系运算,是数值与数组中的每个元素一 一进行关系运算,返回的是一个数组 如:code
>> A = [1,2,3]
A =
1 2 3
>> C = 2
C =
2io
运算结果class
>> A==C
ans =
0 1 0原理
矩阵与数值进行关系运算也是如此,若是是数组与数组进行关系运算时则是对应的位置上的元素进行比较,数组的维数要一致,矩阵与矩阵进行关系运算时也与数组与数组进行关系运算同样循环
逻辑运算语法
在matlab中没有固定的值表示真与假,因此大于0的值都表示为真,将0值定义为假
逻辑运算符 &(与),|(或),~(非),xor(异或 即 相同时就是假,不一样时才为真),运算优先级:算术运算,关系运算,逻辑运算(其中最高的为非,其次是与,而后到或)
短路运算原理:当有多个表达式时,若是左边数值能够肯定结果的话,就没必要在对右边的数进行运算,这样能够提升运算速度
&& 找假,先看第一个表达式的值,若是第一个表达式不是布尔类型,强制转换成布尔类型,转换若后为false,则返回第一个值(不是被强制转换后的值),不然返回第二个值
|| 找真,先看第一个表达式的值,若是第一个表达式不是布尔类型,强制转换成布尔类型,转换若后为true,则返回第一个值(不是被强制转换后的值),不然返回第二个值
短路与运算(符号为 &&),短路或运算 (符号为 ||)短路运算的操做数必须是标量,不能是数组,矩阵之类的
ischar()函数:判断是否是字符,如:ischar(5),输出 ans = 0, ischar('y'),输出ans =1;
isnumeric()函数:判断是否是一个数,如: isnumeric(1) ,输出ans = 1,isnumeric('u'),输出ans = 0;
isempty()函数:判断是否是空的,如:a = [] , isempty(a),输出ans = 1;
isinf()函数:判断是否是无穷大,如:isinf(1/0),输出ans = 1;
if语句
if 表达式
语句一
elseif 表达式
语句二
else 表达式
语句三
end %不可省略
disp()打印函数
while 循环 结构
while expression %表达式能够用圆括号也能够不用
code block
end %不可少
matlab中不能写成如n++,要写成n = n+1这种形式
若是程序一直在死循环 可以使用ctrl + c 强制中止运行