matlab 逻辑数组及其应用

时间:2023-03-08 21:27:58

这几天学习了matlab的逻辑数组功能,总的感觉就有两点:

第一,通过对原来的数组a进行逻辑判断后得到逻辑数组b

第二,逻辑数组进行某种运算符操作又回到原数组类型

第三,利用逻辑数组mask功能

测试如下:

disp('逻辑数组学习及应用');
a = [ ; ; ];
b = a > ;%数组中各个元素与4作比较,逻辑为真则为1
whos

结果:

matlab 逻辑数组及其应用

第二,当执行 c = b + 0后,c 数组为:

matlab 逻辑数组及其应用

第三,它在算术运算中能提供一个屏蔽(mask)。屏蔽(mask)是指一个数组, 它从另一个数组选择所需的元素参与运算。 指定的运算只在选择的元素上执行,

而不执行余下的元素。

未使用时,对数组中>4求平方根。

clc;
clear;
disp('逻辑数组学习及应用');
a = [ ; ; ];
for ii = :size(a,)
for jj = :size(a,)
if a(ii,jj) >
a(ii,jj)=sqrt(a(ii,jj)); %对数组中>4的求平方根
end
end
end
a

结果:

a =

1.0000 2.0000 3.0000
4.0000 2.2361 2.4495
2.6458 2.8284 3.0000

使用后:

disp('逻辑数组学习及应用');
a = [ ; ; ];
b = a > ; %对数组中>4的逻辑判定,得到逻辑数组
a(b) =sqrt(a(b));
a

结果同上。

记得项目中有一个功能是首先将数组元素中>0的选出变为新数组,继而对其排序,可以考虑用逻辑数组功能,在这里记下了

相关文章