本文主要是介绍MATLAB使用速成 第四章(逻辑函数和控制结构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、关系运算和逻辑运算
1、关系运算
(1)关系运算符:
< | 小于 | <= | 小于等于 |
> | 大于 | >= | 大于等于 |
== | 等于 | ~= | 不等于 |
(2)与大多数编程语言一样,关系运算符用于比较两个操作数,如果结论是真则返回1,否则返回0。
(3)关系操作符可以比较两个同样大小的矩阵(或矢量),两个矩阵(或矢量)中的每一个元素相比较,返回一个由各元素比较结果(0和1)构成的矩阵(或矢量);关系操作符还可以用来比较一个矩阵(或矢量)和一个标量,标量和矩阵(或矢量)中的每一个元素相比较,返回一个由标量与矩阵(或矢量)各元素比较结果(0和1)构成的矩阵(或矢量)。
(4)举例:
2、逻辑运算
(1)逻辑运算符:
& | 与【A&B等价于and(A,B)】 |
| | 或【A | B等价于or(A,B)】 |
~ | 非【~ A等价于not(A)】 |
xor(x,y) | 异或 |
(2)逻辑运算规则(0表示“假”,非零表示“真”):
运算对象 | 与 | 或 | 非 | 异或 | |
A | B | A&B | A|B | ~A | Xor(A,B) |
0 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 |
(3)逻辑运算函数:
①any(X):如果向量X中存在非零元素则返回1,否则返回0。(若X为矩阵,则按列运算,返回一个由0和1构成的向量)
②all(X):如果向量X中所有元素都非零则返回1,否则返回0。(若X为矩阵,则按列运算,返回一个由0和1构成的向量)
(4)一些测试函数:
isfinite(x) | 若x为有限值,返回真值1,否则返回0 |
isinf(x) | 若x为无穷大,返回真值1,否则返回0 |
isnan(x) | 若x为不定值,返回真值1,否则返回0 |
isreal(x) | 若x无虚部,返回真值1,否则返回0 |
isstr(x) | 若x为一个字符串,返回真值1,否则返回0 |
isempty(x) | 若x为空,返回真值1,否则返回0 |
3、find命令
(1)find(A):找出矩阵(或矢量)A中所有非零元素所在的下标。
(2)find(条件):找出矩阵(或矢量)A中符合条件的元素所在的位置。
4、运算符的优先级
二、程序控制结构
1、顺序结构
(1)顺序结构按排列顺序依次执行各条语句,直到程序的最后。
(2)顺序结构是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等。
2、选择结构
(1)选择结构根据给定的条件成立或不成立,分别执行不同的语句。
(2)if条件语句:
①if语句的三种结构:
[1]单分支结构:
if <条件表达式>
<满足条件执行的语句组>
end
[2]双分支结构:
if <条件表达式>
<满足条件执行的语句组>
else
<不满足条件执行的语句组>
end
[3]多分支结构:
if <条件表达式1>
<满足条件1执行的语句组>
elseif 条件表达式2
<不满足条件1而满足条件2执行的语句组>
... ...
elseif <条件表达式m>
<仅满足条件m执行的语句组>
else
<不满足所有条件执行的语句组>
end
②if的条件表达式中如果是向量,只有在向量的全部元素为真时条件表达式才为真。
(3)switch语句:
①switch语句可根据表达式的不同取值,分别执行不同的语句。
②switch语句的通式与执行流程:
switch <表达式> %switch后面的表达式的值可以是一个标量或字符串
case <表达式1>
<语句组1>
case <表达式2>
<语句组2>
... ...
case <表达式m>
<语句组m>
otherwise %otherwise 指令可以不出现
<语句组>
end
[1]先计算表达式的值,然后将它依次与各个case指令后表达式的值进行比较,当比较结果为真时,就执行相应语句组,然后跳出switch结构。
[2]如果所有的比较结果都为假,则执行otherwise后面的语句组。
(4)menu语句:
①menu语句可让用户通过图形化的菜单选项来选择需要执行的功能(对应的语句)。
②menu可以有若干个参数(一般参数类型都是字符串),第一个参数可认为是菜单的标题,第二个参数开始可认为是菜单的选项,从左至右分别为菜单的第一选项、第二选项……,选项对应的序号从1开始依次递增1,用户选择第几个选项,menu就会返回该选项对应的序号。
3、循环结构
(1)循环结构根据给定的循环条件,重复执行指定的语句,直到循环条件不满足为止。
(2)for语句:
①for语句的通式与执行流程:
for <循环变量> = <取值列表> %取值列表通常是一个向量
<循环体> %不要在循环体内改变循环变量的值
end %循环语句可以嵌套使用
for语句将取值列表中的值依次赋给循环变量,直到取值列表的值全部取完,循环结束。
②举例:
[1]已知,当 n=100 时,求y的值。
[2]计算s = 1 + 3 + 10 - 28 + 30 + 50 - 12 - 8。
(3)while语句:
①while语句的通式与执行流程:
while <条件表达式>
<循环体>
end %循环语句可以嵌套使用
当条件表达式的值为真(非0)时,执行循环体语句。
②举例:计算MATLAB中eps的值。
(4)break语句和continue语句:
①break语句用于终止循环的执行,即跳出最内层循环。
②continue语句用于结束本次循环,进行下一次循环。
这篇关于MATLAB使用速成 第四章(逻辑函数和控制结构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!